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

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

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

我如何让它工作?


当前回答

一行命令从mysqldump恢复生成的SQL

mysql -u <username> -p<password> -e "source <path to sql file>;"

其他回答

您可以尝试SQLyog“执行SQL脚本”工具导入SQL /dump文件。

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

mysql> \. dump.sql

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

运行命令进入DB

 # mysql -u root -p 

输入用户密码,然后创建新DB

mysql> create database MynewDB;
mysql> exit

然后退出。Afetr。执行此命令

# mysql -u root -p  MynewDB < MynewDB.sql

然后进入db并键入

mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit

就是这样........您的转储将从一个DB恢复到另一个DB

或者还有另一种转储恢复的方法

# mysql -u root -p 

然后进入db并键入

mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit

作为前面回答的一个具体例子:

我需要恢复备份,以便导入/迁移到SQL Server。我只安装了MySql,但没有把它注册为服务,也没有把它添加到我的路径中,因为我不需要让它一直运行。

我用windows资源管理器把我的转储文件放在C:\code\dump.sql。然后从开始菜单项中打开MySql。创建DB,然后运行source命令,使用完整路径,如下所示:

mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql

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