2012-03-14 87 views
12

我在将MySQL表从命令行恢复到数据库时遇到了麻烦。备份一个表与mysqldump一起工作。备份和恢复数据库也能正常工作。我已经使用:将MySQL表恢复到数据库

的mysql -uroot -p数据库名表名<路径\ TableName.sql

在此先感谢

+1

嗨Bijsha,欢迎#1。为了帮助您,请提供更多详细信息,包括问题的具体内容,您现在得到的错误文本以及问题所在。谢谢! – 2012-03-14 05:10:13

回答

17

嗯,我想我在这里看到的问题。

你的备份脚本看起来不错。 tbl_name作为可选的第二个参数正确工作。

要恢复,您应该简单地运行

mysql -uroot -p DatabaseName < path\TableName.sql 

运行man mysql会表现出你正确的参数和选项

mysql的[选项] DB_NAME

当你的备份脚本只包含一个表,只有该表将被恢复到您的数据库中。

+0

感谢菲尔。你是对的..它按照你说的方式工作.. – Luna 2012-03-14 05:35:08

+1

应该是'-u root'和'path/TableName.sql'。 – 2017-01-25 02:27:29

+0

@JohnJoe'-u'可以使用或不使用空格,并且OP显然使用Windows,因此使用反斜杠目录分隔符 – Phil 2017-01-25 02:43:07

11

以备份

mysqldump -u -p mydatabase table1 > table1.sql 

从备份flie恢复不需要包含表名

mysql -u -p mydatabase < table1.sql 
+0

纳文感谢..它的工作现在.. – Luna 2012-03-14 05:42:29

+0

可以通过使用批处理文件来做同样的事情吗? – Luna 2012-03-14 10:36:08

+0

你想从批处理文件恢复吗? – 2012-03-14 12:08:19

0

最好的方法来恢复数据库:

开放CMDbin文件夹

登录到m ysql:

mysql -uroot -pyour_password 

show databases; 

use db_name; 

现在命中源,并把你的SQL文件存储和命中地址栏的完整路径;

例如:

source db_name.sql;