2011-02-11 116 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