我像这样备份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'
我做错了什么?
如果数据库以某种方式更改或完全删除,我需要能够恢复数据库。
奖金问题:是否可以从文件中读取密码而不是在命令行中提供密码?
答案 0 :(得分:3)
如果我理解正确,你正在做什么,那么你不需要'mysql'调用的'database'参数,因为转储应该包含create database
语句。
奖金:您需要--defaults-extra-file
选项
答案 1 :(得分:0)
mysqldump
命令在其输出中不包含create database
语句。您需要在运行第二个命令之前创建my_database
数据库。