2016-05-25 83 views
0

我想爲用戶提供初始數據庫的備份,並提供一行命令以在其系統上創建數據庫。下面是我如何備份數據庫:在還原備份時讓MySQL創建數據庫

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. 

回答

1

好的,你在mysql命令中給出了SCHEMA NAME。因此,MySQL想要首先將模式更改爲myDatabase,然後才能執行此操作。沒有模式myDatabase。刪除-D選項,如:

mysql -u root -p < backup.sql