Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL импортиране на база данни, но игнорирайте конкретна таблица

Приетият отговор от RandomSeed може да отнеме много време! Импортирането на таблицата (само за да я пуснете по-късно) може да бъде много разточително в зависимост от размера.

За файл, създаден с помощта на

mysqldump -u user -ppasswd --opt --routines DBname > DBdump.sql

Понастоящем получавам файл около 7GB, 6GB от който са данни за таблица с регистрационни файлове, които нямам нужда да са там; презареждането на този файл отнема няколко часа. Ако трябва да презаредя (за целите на разработката или ако някога е необходимо за възстановяване на живо), преглеждам файла по следния начин:

sed '/INSERT INTO `TABLE_TO_SKIP`/d' DBdump.sql > reduced.sql

И презаредете с:

mysql -u user -ppasswd DBname < reduced.sql

Това ми дава пълна база данни, със създадена "нежелана" таблица, но празна. Ако наистина не искате таблиците изобщо, просто пуснете празните таблици, след като зареждането приключи.

За множество таблици можете да направите нещо подобно:

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

ИМА „разбирам“ – внимавайте за процедури във вашия дъмп, които може да съдържат „INSERT INTO TABLE_TO_SKIP“.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL таблица с запис в списък срещу SQL таблица с ред за всеки запис

  2. Mysql съществува срещу IN -- корелирана подзаявка срещу подзаявка?

  3. Mysqldump:Можете ли да промените името на таблицата, в която вмъквате?

  4. Mysql Left Join Null резултат

  5. MySql:задайте променлива със списък