Импорт одной базы данных из -- all-databases dump


можно ли импортировать одну базу данных из --all-databases mysqldump? Я думаю, что я могу изменить файл вручную, но интересно, если есть какие-либо параметры командной строки, чтобы сделать это.

я перемещаю серверы и имею много баз данных, большинство из которых мне в настоящее время не нужно или не нужно на данный момент, но хотелось бы иметь возможность восстановить один, если это необходимо.

2 57

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-см его страницы)