我使用名为library的数据库的mysqldump实用程序创建了一个名为ab.sql的文件。它工作正常。现在我正在尝试使用mysqlimport恢复它。 我的数据库已存在。但我想覆盖它。我在用 命令
mysqlimport -uroot -p**** library D:/ab.sql
在命令行中,但它出现错误,
mysqlimport:错误:1146,表'library.ab'在使用表时不存在:ab
迫切需要帮助。
答案 0 :(得分:20)
mysqlimport将文本文件中的行读取到数据库中。 mysqldump输出一个充满SQL语句的文件,而不是简单的行。您可以使用以下命令运行这些SQL语句:
mysql -u root < D:/ab.sql
根据您的mysqldump选项,这可能会删除数据库中的现有数据。如果您不确定,我会选择“删除”和“删除”以确保它看起来不错。
答案 1 :(得分:9)
Marc B评论说:鉴于您的“未识别”错误,无论是未安装,还是未安装在您的路径中。
如果你安装了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
然后会要求您输入数据库用户的密码。然后命令应该执行。完成后你应该看到这样的东西:
希望这有助于并且准确无误,在StackOverflow的帮助下,这就是它对我有用的方式。祝你好运!