Проблема с восстановлением базы данных MySQL - вопрос mysqldump
Я сделал резервную копию my_database
как это:
mysqldump --add-drop-database --databases
--user=my_username --password=my_password my_database > backup.sql
Затем я полностью удалил базу данных и попытался восстановить ее так:
mysql --user=my_username --password=my_password my_database < backup.sql
Я получил следующую ошибку:
ERROR 1049 (42000): Unknown database 'my_database'
Что я делаю неправильно?
Мне нужно иметь возможность восстановить базу данных, если она была каким-то образом изменена или полностью удалена.
Дополнительный вопрос: возможно ли прочитать пароль из файла, а не ввести его в командной строке?
2 ответа
Решение
Если я правильно понимаю, что вы делаете, вам не нужен аргумент "database" для вызова "mysql", так как дамп должен содержать create database
заявления.
Что касается бонуса: вы хотите --defaults-extra-file
вариант
mysqldump
команда не включает create database
заявление в своем выводе. Вам нужно создать my_database
базы данных перед запуском второй команды.