如何从mysqldump恢复转储文件?

时间:2020-03-06 14:27:57  来源:igfitidea点击:

我得到了一个MySQL数据库文件,需要将其还原为Windows Server 2008计算机上的数据库。

我尝试使用MySQL Administrator,但出现以下错误:

The selected file was generated by
  mysqldump and cannot be restored by
  this application.

我该如何工作?

解决方案

它应该像运行此命令一样简单:

mysql -u <user> -p < db_backup.dump

如果转储属于单个数据库,则可能必须在文件顶部添加一行:

USE <database-name-here>;

如果它是许多数据库的转储,则use语句已在其中。

要运行这些命令,请打开命令提示符(在Windows中),并在" mysql.exe"可执行文件所在的目录中打开" cd"(我们可能需要仔细检查一下,这取决于安装方式)。 mysql,即独立或者作为WAMP之类的软件包的一部分)。进入该目录后,我们应该只需键入上面的命令即可。

当我们用mysqldump制作转储文件时,它包含的是一个很大的SQL脚本,用于重新创建数据库内容。因此,我们通过启动MySQL命令行客户端来还原它:

mysql -uroot -p

(其中root是MySQL的管理员用户名),一旦连接到数据库,我们就需要命令来创建数据库并读取其中的文件:

create database new_db;
use new_db;
\. dumpfile.sql

根据创建转储文件时使用的选项,详细信息会有所不同。

我们只需要运行以下命令:

mysql -p -u[user] [database] < db_backup.dump

如果转储包含多个数据库,则应省略数据库名称:

mysql -p -u[user] < db_backup.dump

要运行这些命令,请打开命令提示符(在Windows中),并在mysql.exe可执行文件所在的目录中打开cd(我们可能需要仔细检查一下,这取决于安装方式) mysql,即独立的或者作为WAMP之类的软件包的一部分)。进入该目录后,我们应该只需键入命令即可。

我按照以下步骤工作

  • 打开MySQL Administrator并连接到服务器
  • 选择左侧的"目录"
  • 右键单击左下角的框,然后选择"创建新架构" MySQL Administrator http://img204.imageshack.us/img204/7528/adminsx9.th.gif放大图像
  • 将新模式命名(例如:" dbn")MySQL新模式http://img262.imageshack.us/img262/4374/newwa4.th.gif放大图像
  • 打开Windows命令提示符(cmd)Windows命令提示符http://img206.imageshack.us/img206/941/startef7.th.gif放大图像
  • 将目录更改为MySQL安装文件夹
  • 执行命令:
mysql -u root -p dbn < C:\dbn_20080912.dump

其中" root"是用户名," dbn"是数据库名," C:\ dbn_20080912.dump"是mysqldump .dump文件的路径/文件名。MySQL dump restore命令行http:// img388. imageshack.us/img388/2489/cmdjx0.th.gif放大图像

  • 享受!

我们也可以使用MySQL Administrator中的还原菜单。我们只需要打开备份文件,然后单击"还原"按钮。

如果要还原的数据库尚不存在,则需要首先创建它。

在命令行上,如果我们位于包含转储文件的目录中,请使用以下命令(带有适当的替换):

C:\> mysql -u root -p

mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;

如果不是从那里创建备份/转储的,则不能使用MySQL Admin中的Restore菜单。虽然值得一试。如果我们选择使用该复选框"忽略错误",它将表示已成功完成,尽管它显然仅以导入的一小部分行退出...这是转储,请注意。