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


13

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

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

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


1
Вы заглянули в файл? Он должен / мог содержать команды для создания и переключения на базы данных по мере необходимости.
Том Регнер

Да, базы данных созданы, а затем они были выбраны с помощью USE database_nameкоманды.
smhnaji

Тогда ответы Унни и Лоренца верны.
Том Регнер

Ответы:


18

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

mysql -u username -p < dump.sql

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

mysqldump -u username -p --all-databases > dump.sql

У ОП уже есть один файл, и ему нужно восстановить файлы, чтобы он не мог больше их выгружать, я полагаю.
Лоран

@ 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если вам нужно использовать другого пользователя.


1

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

mysql DATABASE_NAME < SQL_FILENAME.sql

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

gunzip SQL_FILE.sql.gz

1
-1 Как я уже говорил выше, в файле хранятся НЕСКОЛЬКО баз данных, и я хочу, чтобы все они были восстановлены одновременно.
smhnaji

Вы можете экспортировать каждую базу данных отдельно в phpmyadmin и восстановить ее на исходном сервере? или используйте потоковые редакторы linux, такие как sed или awk, чтобы разделить их в другой файл.
Унни

1
нет необходимости, он может импортировать все базы данных из одного файла
Laurent
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.