Восстановление нескольких баз данных MySQL из одного файла в командной строке?

13

Я экспортировал все свои базы данных в файл, используя phpMyAdmin.

К сожалению, у меня нет работающего phpMyAdmin в моей системе назначения.

Как мне восстановить их все сразу, используя одну строчную команду?

smhnaji
источник
1
Вы заглянули в файл? Он должен / мог содержать команды для создания и переключения на базы данных по мере необходимости.
Том Регнер
Да, базы данных созданы, а затем они были выбраны с помощью USE database_nameкоманды.
smhnaji
Тогда ответы Унни и Лоренца верны.
Том Регнер

Ответы:

18

Почему бы вам не объединить все файлы в один файл и выполнить импорт / восстановление с помощью

mysql -u username -p < dump.sql

Создайте один файл, используя

mysqldump -u username -p --all-databases > dump.sql
devav2
источник
У ОП уже есть один файл, и ему нужно восстановить файлы, чтобы он не мог больше их выгружать, я полагаю.
Лоран
@ laurent Да, понял. Использование mysql -u username -p < dump.sqlзагрузит несколько баз данных MySQL.
devav2
да, конечно это будет
Лоран
2
это не сработало для меня. он говорит, что мне нужно выбрать базу данных
Арье Армон
3

Если вы создали резервную копию множества баз данных в 1 файле, я полагаю, вы создали резервную копию create databaseоператоров в том же файле. Если вам не нужно только добавить create databaseи use databaseзаявление в файл в нужных местах.

После этого команда для загрузки файла в MySQL:

mysql -p < sqlfile.sql

-p это спросить ваш пароль.

Вы можете использовать, -u usernameесли вам нужно использовать другого пользователя.

Laurent
источник
1

mysql команда для восстановления файла sql:

mysql DATABASE_NAME < SQL_FILENAME.sql

сначала убедитесь, что файл является sql. Если это заканчивается расширением файла gz, распакуйте его с помощью команды:

gunzip SQL_FILE.sql.gz
Unni
источник
1
-1 Как я уже говорил выше, в файле хранятся НЕСКОЛЬКО баз данных, и я хочу, чтобы все они были восстановлены одновременно.
smhnaji
Вы можете экспортировать каждую базу данных отдельно в phpmyadmin и восстановить ее на исходном сервере? или используйте потоковые редакторы linux, такие как sed или awk, чтобы разделить их в другой файл.
Унни
1
нет необходимости, он может импортировать все базы данных из одного файла
Laurent