2011-02-11 154 views
17

我有傾倒我的數據庫使用以下命令:的MySQL,轉儲,數據庫恢復

mysqldump -uuser -ppassword db_name > file 

然後我徹底打消了我的數據庫:

drop database db_name; 

然後創建一個新的數據庫:

create database db_name; 

然後我嘗試用以下命令恢復db:

mysqldump -uuser -ppassword db_name < file 

的問題是,轉儲並不在其中創建表並加載數據等數據庫保持爲空但它確實表明像垃圾郵件完成「日期時間」

還有什麼能這樣做的原因?

+1

你只需要使用`mysql的-Uxxx -pXXX 2011-02-11 19:58:21

回答

18

mysqldump用於轉儲數據庫。您已創建一個新的空數據庫,然後轉儲該空數據庫。使用mysql代替重新加載轉儲

mysqldump db > dump.sql 
mysql drop/create 
mysql db < dump.sql 

將是基本的命令序列。

12

我喜歡做以下操作來恢復。

mysql -uuser -ppassword 
create database db; 
use db; 
source dump.sql; 
0

我試着用下面的命令我的數據庫的轉儲:

#mysqldump -u <username> -p <password> DB_name > <filename>.sql 

然後登錄到DB:

#mysql -u <username> -p <password> 
    >show databases; 
    >drop database <DB_name>; 

然後創建一個新的數據庫:

#create database <DB_name>; 

DB_name是我們爲用戶定義的名稱有任何名字。

,然後用下面的命令恢復DB:

#mysql -u <username> -p <password> DB_name < <filename>.sql