我得到了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008机器上的数据库。

我尝试使用MySQL管理员,但我得到以下错误:

所选文件由 Mysqldump,不能恢复 这个应用程序。

我如何让它工作?


当前回答

我按照下面的步骤来做。

Open MySQL Administrator and connect to server Select "Catalogs" on the left Right click in the lower-left box and choose "Create New Schema" MySQL Administrator http://img204.imageshack.us/img204/7528/adminsx9.th.gif enlarge image Name the new schema (example: "dbn") MySQL New Schema http://img262.imageshack.us/img262/4374/newwa4.th.gif enlarge image Open Windows Command Prompt (cmd) Windows Command Prompt http://img206.imageshack.us/img206/941/startef7.th.gif enlarge image Change directory to MySQL installation folder Execute command: mysql -u root -p dbn < C:\dbn_20080912.dump …where "root" is the name of the user, "dbn" is the database name, and "C:\dbn_20080912.dump" is the path/filename of the mysqldump .dump file MySQL dump restore command line http://img388.imageshack.us/img388/2489/cmdjx0.th.gif enlarge image Enjoy!

其他回答

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

在命令行中,如果你在包含转储文件的同一个目录中,使用这些命令(使用适当的替换):

C:\> mysql -u root -p

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

如果备份/转储不是在MySQL管理中创建的,则不能使用MySQL管理中的Restore菜单。不过还是值得一试。如果你选择“忽略错误”的复选框,它会说它成功完成,尽管它显然只导入了一小部分行…注意,这是在垃圾场。

mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

看这里——第三步:这样你就不需要USE语句了

如果你已经在mysql提示,并假设你的转储文件转储。Sql,那么我们还可以使用如下命令来恢复转储

mysql> \. dump.sql

如果您的转储大小较大,请将max_allowed_packet值设置为更高。设置此值将帮助您更快地恢复转储。

如果你想查看转储的进度,试试这个:

pv -i 1 -p -t -e /path/to/sql/dump | mysql -u USERNAME -p DATABASE_NAME . sh

你当然需要安装“pv”。此命令仅适用于*nix。