恢复MySQL数据库

时间:2011-03-03 21:18:00

标签: mysql sql mysql-error-1146

我使用名为library的数据库的mysqldump实用程序创建了一个名为ab.sql的文件。它工作正常。现在我正在尝试使用mysqlimport恢复它。 我的数据库已存在。但我想覆盖它。我在用 命令

mysqlimport -uroot -p**** library D:/ab.sql

在命令行中,但它出现错误,

  

mysqlimport:错误:1146,表'library.ab'在使用表时不存在:ab

迫切需要帮助。

2 个答案:

答案 0 :(得分:20)

mysqlimport将文本文件中的行读取到数据库中。 mysqldump输出一个充满SQL语句的文件,而不是简单的行。您可以使用以下命令运行这些SQL语句:

mysql -u root < D:/ab.sql

根据您的mysqldump选项,这可能会删除数据库中的现有数据。如果您不确定,我会选择“删除”和“删除”以确保它看起来不错。

答案 1 :(得分:9)

Marc B评论说:鉴于您的“未识别”错误,无论是未安装,还是未安装在您的路径中。

如何“识别”mysql

如果你安装了MySQL,比如在安装到C:\xampp的Windows 7上安装了XAMPP 1.7.3,则需要打开Windows命令行(cmd.exe)并更改路径以便MySQL包括在内:

cd C:\xampp\mysql\bin

然后,您可以从froody's answer或某些变体添加命令:

C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql

如果在运行上述命令之前将数据库文件(即最初使用mysqldump导出的文件)移动到C:\xampp\mysql\bin,则可以不使用数据库文件的路径,只留下:

C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < ab.sql

然后会要求您输入数据库用户的密码。然后命令应该执行。完成后你应该看到这样的东西:

windows cmd mysql import

希望这有助于并且准确无误,在StackOverflow的帮助下,这就是它对我有用的方式。祝你好运!