Die akzeptierte Antwort von RandomSeed kann lange dauern! Das Importieren der Tabelle (nur um sie später zu löschen) kann je nach Größe sehr verschwenderisch sein.
Für eine Datei, die mit
erstellt wurdemysqldump -u user -ppasswd --opt --routines DBname > DBdump.sql
Ich erhalte derzeit eine Datei mit etwa 7 GB, von denen 6 GB Daten für eine Protokolltabelle sind, die ich nicht "brauchen" muss. Das erneute Laden dieser Datei dauert einige Stunden. Wenn ich neu laden muss (für Entwicklungszwecke oder falls jemals für eine Live-Wiederherstellung erforderlich), überfliege ich die Datei folgendermaßen:
sed '/INSERT INTO `TABLE_TO_SKIP`/d' DBdump.sql > reduced.sql
Und neu laden mit:
mysql -u user -ppasswd DBname < reduced.sql
Dies gibt mir eine vollständige Datenbank, wobei die "unerwünschte" Tabelle erstellt, aber leer ist. Wenn Sie die Tabellen wirklich überhaupt nicht wollen, löschen Sie einfach die leeren Tabellen, nachdem der Ladevorgang abgeschlossen ist.
Für mehrere Tabellen könnten Sie etwa so vorgehen:
sed '/INSERT INTO `TABLE1_TO_SKIP`/d' DBdump.sql | \
sed '/INSERT INTO `TABLE2_TO_SKIP`/d' | \
sed '/INSERT INTO `TABLE3_TO_SKIP`/d' > reduced.sql
Es GIBT einen 'Fallfang' - achten Sie auf Prozeduren in Ihrem Dump, die "INSERT INTO TABLE_TO_SKIP" enthalten könnten.