Импорт одной базы данных из -- 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-см его страницы)