Przyjęcie odpowiedzi przez RandomSeed może zająć dużo czasu! Importowanie tabeli (tylko po to, aby ją później upuścić) może być bardzo marnotrawstwem w zależności od rozmiaru.
Dla pliku utworzonego za pomocą
mysqldump -u user -ppasswd --opt --routines DBname > DBdump.sql
Obecnie otrzymuję plik o wielkości około 7 GB, z czego 6 GB to dane dla tabeli dziennika, których „nie potrzebuję” tam; ponowne załadowanie tego pliku zajmuje kilka godzin. Jeśli muszę ponownie załadować (w celach programistycznych lub jeśli jest to wymagane do odzyskiwania na żywo), przeglądam plik w ten sposób:
sed '/INSERT INTO `TABLE_TO_SKIP`/d' DBdump.sql > reduced.sql
I przeładuj za pomocą:
mysql -u user -ppasswd DBname < reduced.sql
Daje mi to kompletną bazę danych z utworzoną tabelą „niechcianą”, ale pustą. Jeśli naprawdę nie chcesz w ogóle tych tabel, po prostu upuść puste tabele po zakończeniu ładowania.
Dla wielu stołów możesz zrobić coś takiego:
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
JEST 'gotcha' - uważaj na procedury w twoim zrzucie, które mogą zawierać "INSERT INTO TABLE_TO_SKIP".