恢复MySQL数据库

恢复MySQL数据库,mysql,sql,mysql-error-1146,Mysql,Sql,Mysql Error 1146,我使用名为library的数据库的mysqldump实用程序创建了一个名为ab.sql的文件。它工作得很好。现在我正在尝试使用mysqlimport恢复它。 我的数据库已经存在。但我想推翻它。我正在使用 命令 mysqlimport -uroot -p**** library D:/ab.sql 在命令行中,但它给出了一个错误 mysqlimport:错误:1146,使用表ab时,表'library.ab'不存在 急需帮助。mysqlimport将文本文件中的行读取到数据库中。mysqldum

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

mysqlimport -uroot -p**** library D:/ab.sql
在命令行中,但它给出了一个错误

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


急需帮助。

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

mysql -u root < D:/ab.sql
mysql-u root
根据mysqldump选项的不同,这可能会删除数据库中的现有数据。如果您不确定,我会选择“删除”和“删除”以确保它看起来正常。

Marc B评论:鉴于您的“无法识别”错误,它可能未安装,也可能不在您的路径中

如何“识别”mysql 如果确实安装了MySQL,例如Windows 7上的XAMPP 1.7.3,安装到
C:\XAMPP
,则需要打开Windows命令行(
cmd.exe
)并更改路径,以便包含MySQL:

cd C:\xampp\mysql\bin
然后,您可以添加来自或类似以下变量的命令:

C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < path/to/file/ab.sql
然后将要求您输入数据库用户的密码。然后应该执行该命令。当它完成时,您应该看到类似的内容:


希望这有帮助并且是准确的,在StackOverflow的帮助下,这就是它对我的作用。祝你好运

我也尝试过在cmd提示符中这样做。但是它说,“'mysql'不能被识别为内部或外部命令、可操作程序或批处理文件。”我们可以使用mysqlimport备份整个数据库吗。我刚刚读到,它只能还原表名和.sql文件名必须相同的特定表。如何恢复整个数据库…?mysqldump用于备份数据库。它可以转储表、数据库或所有数据库。它的输出是一个纯文本文件,其中包含重建转储数据所需的所有SQL查询。您可以使用mysql监视器“导入”转储。考虑到您的“无法识别”错误,可能是它未安装,或者不在您的路径中。您建议的方法是否比运行
mysqlimport
更有效?如果是的话,如果我们运行
mysqlimport
,这种方法完成的速度会有多快?请对此持保留态度,但根据我的经验,
mysqlimport
的使用只有在我导入的数据文件不是
.sql
格式时才会起作用。例如,使用
mysqlimport
客户端将
.csv
文件导入数据库将是合适的用例。至于速度,我不能提供任何证据,但我倾向于相信一个
.sql
文件将比使用
mysqlimport
.csv
格式的相同文件导入数据更快。mysqlimport可以在大约1小时内导入4000万行。sql要慢得多。只需澄清一下:这需要在windows cmd提示符下完成。在Git Bash提示符中对我不起作用。
C:\xampp\mysql\bin>mysql -u {DB_USER} -p {DB_NAME} < ab.sql