Импорт одной базы данных из -- all-databases dump
можно ли импортировать одну базу данных из --all-databases mysqldump? Я думаю, что я могу изменить файл вручную, но интересно, если есть какие-либо параметры командной строки, чтобы сделать это.
я перемещаю серверы и имею много баз данных, большинство из которых мне в настоящее время не нужно или не нужно на данный момент, но хотелось бы иметь возможность восстановить один, если это необходимо.
2 ответа:
mysqldumpвыход-это просто наборSQLзаявления.вы можете указать нужную базу данных в командной строке и пропустить команды против других баз данных, используя:
mysql -D mydatabase -o mydatabase < dump.sqlэто будет выполнять только команды, когда
mydatabaseиспользуется
вы можете использовать следующую команду:
mysql -u root -p --one-database destdbname < alldatabases.sqlздесь
destdbnameэто желаемая база данных, которую вы хотите восстановить.другой вариант, который является ИМХО гораздо безопаснее, чтобы извлечь БД из
--all-databasesсвалка. Пример:sed -n '/^-- Current Database: `dbname`/,/^-- Current Database: `/p' alldatabases.sql > output.sqlзаменить
dbnameС нужным именем базы данных.alldatabases.sql- это имя вашего файла sql-дампа. Таким образом, у вас будет отдельная БД в файле, а затем вы можете восстановить ее с помощью простой команды mysql.хорошее удачи
(кредиты идет к: Даррен Mothersele-см его страницы)