1

我做了这样的备份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'

我究竟做错了什么 ?

如果它以某种方式更改或完全删除,我需要能够恢复数据库。

额外的问题:是否可以从文件中读取密码而不是在命令行中提供密码?

4

2 回答 2

3

如果我理解正确,你在做什么,那么你不需要'mysql'调用的'database'参数,因为转储应该包含create database语句。

至于奖金:你想要一个--defaults-extra-file选择

于 2010-09-30T06:03:48.403 回答
0

mysqldump命令在其输出中不包含该create database语句。您需要my_database在运行第二个命令之前创建数据库。

于 2010-09-30T06:20:52.660 回答