我得到了一个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

其他回答

运行命令进入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

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

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

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

它应该像运行这样简单:

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

如果转储的是单个数据库,您可能需要在文件顶部添加一行:

USE <database-name-here>;

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

要运行这些命令,打开一个命令提示符(在Windows中),并cd到mysql.exe可执行文件所在的目录(你可能需要四处寻找,这取决于你如何安装mysql,即独立或作为WAMP包的一部分)。进入该目录后,您应该能够像上面那样键入命令。

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

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

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