我使用以下命令转储了我的数据库:
mysqldump -uuser -ppassword db_name > file
然后我完全删除了我的数据库:
drop database db_name;
然后我创建了一个新数据库:
create database db_name;
然后我尝试使用以下命令恢复数据库:
mysqldump -uuser -ppassword db_name < file
问题是转储不会创建表并在其中加载数据,因此数据库仍为空,但它确实显示像dump完成的消息“date time”
这可能是什么原因?
答案 0 :(得分:19)
mysqldump用于转储数据库。您已经创建了一个新的空数据库,然后转储该空数据库。请使用mysql
重新加载转储
mysqldump db > dump.sql
mysql drop/create
mysql db < dump.sql
将是基本的命令序列。
答案 1 :(得分:12)
我喜欢执行以下操作来恢复。
mysql -uuser -ppassword
create database db;
use db;
source dump.sql;
答案 2 :(得分: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是用户定义的名称,我们可以有任何名称。
然后使用以下命令恢复数据库:
#mysql -u <username> -p <password> DB_name < <filename>.sql