我得到了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008机器上的数据库。
我尝试使用MySQL管理员,但我得到以下错误:
所选文件由 Mysqldump,不能恢复 这个应用程序。
我如何让它工作?
我得到了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008机器上的数据库。
我尝试使用MySQL管理员,但我得到以下错误:
所选文件由 Mysqldump,不能恢复 这个应用程序。
我如何让它工作?
当前回答
运行命令进入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
其他回答
如果备份/转储不是在MySQL管理中创建的,则不能使用MySQL管理中的Restore菜单。不过还是值得一试。如果你选择“忽略错误”的复选框,它会说它成功完成,尽管它显然只导入了一小部分行…注意,这是在垃圾场。
作为前面回答的一个具体例子:
我需要恢复备份,以便导入/迁移到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 databasename < backup.sql
您也可以使用MySQL管理员中的恢复菜单。你只需要打开备份文件,然后点击还原按钮。
你只需要运行这个:
mysql -p -u[user] [database] < db_backup.dump
如果转储包含多个数据库,您应该省略数据库名称:
mysql -p -u[user] < db_backup.dump
要运行这些命令,打开一个命令提示符(在Windows中),并cd到mysql.exe可执行文件所在的目录(你可能需要四处寻找,这取决于你如何安装mysql,即独立或作为WAMP包的一部分)。进入该目录后,您应该能够键入命令。