MySQL: Выборочный дамп базы данных
Возникла необходимость экспортировать некоторые таблицы из базы данных. В случае, если необходимо получить дамп одной таблицы, можно воспользоваться такой командой:
mysqldump -uUSER -pPASSWORD DATABASE_NAME TABLE_NAME > TABLE_NAME.sql
заменив USER на пользователя БД, PASSWORD на пароль пользователя USER, DATABASE_NAME на имя БД, TABLE_NAME – на имя экспортируемой таблицы. Дамп таблицы попадет в файл TABLE_NAME.sql
Однако, ситуация существенно усложняется при большом количестве таблиц, которые необходимо экспортировать. В этом случае можно воспользоваться предложенным ниже способом.
Исполняем команду
echo "SHOW TABLES;" | mysql -uUSER -pPASSWORD DATABASE_NAME TABLE_NAME > tables
В файл tables будет помещен список таблиц БД. Его необходимо отредактировать, оставив в нем только те таблицы, которые необходимо экспортировать. После этого необходимо запустить скрипт run.sh, предварительно заменив в нем учетные данные.
После запуска готовый дамп попадет в файл DATABASE_NAME.sql. Его можно импортировать в MySQL командой
mysql -uUSER -pPASSWORD DATABASE_NAME > DATABASE_NAME.sql