我想为用户提供初始数据库的备份,并提供一行命令在其系统上创建数据库。以下是我备份数据库的方法:
mysqldump -u root -p -B --add-drop-database "myDatabase" > backup.sql
这是恢复它的命令:
mysql -u root -p -D "myDatabase" < backup.sql
问题在于它失败了:
ERROR 1049 (42000): Unknown database 'myDatabase'
以下是备份文件的相关部分:
--
-- Current Database: `myDatabase`
--
/*!40000 DROP DATABASE IF EXISTS `myDatabase`*/;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `myDatabase` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `myDatabase`;
如果我在MySQL内部输入,我没有问题。
(我还希望mysqldump
删除数据库(如果它存在),并在不存在时创建它。)
如果重要,我正在运行
MySQL 5.5.49-0ubuntu0.12.04.1.
答案 0 :(得分:1)
好的,你在mysql命令中给出了SCHEMA NAME。所以mysql想要先将模式更改为myDatabase而不要这样做。没有架构myDatabase。删除-D选项,如:
mysql -u root -p < backup.sql