MySQL,Dump和数据库恢复

29

我用以下命令转储了我的数据库:

mysqldump -uuser -ppassword db_name > file

然后我完全删除了我的数据库:

drop database db_name;

然后我创建了一个新数据库:

create database db_name;

然后我尝试使用以下命令恢复数据库:

mysqldump -uuser -ppassword db_name < file
问题是dump不创建表并加载数据,因此数据库仍然为空,但它会显示类似于"日期时间"的完成转储消息。可能的原因是什么?

1
你只需要使用mysql -uXXX -pXXX < dump_file.sql来导入数据。(即:mysqldump只用于导出数据,不能用于导入) - John Parker
3个回答

28

mysqldump用于将数据库导出备份。你已经创建了一个新的空数据库,然后导出了该空数据库。使用mysql来重新载入您的备份。

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

这将是基本的命令序列。


14

我喜欢使用以下方法进行恢复。

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

4
我尝试使用以下命令转储数据库:

我尝试使用以下命令转储我的数据库:

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

然后登录到数据库:

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

接下来创建一个新的数据库:

#create database <DB_name>;

DB_name是用户定义的名称,我们可以使用任何名称。

然后使用以下命令还原数据库:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接