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

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

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

我如何让它工作?


当前回答

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

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

其他回答

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

mysql> \. dump.sql

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

本地mysql:

mysql -u root --password=YOUR_PASS --database=YOUR_DB < ./dump.sql 

如果你使用docker:

docker exec -i DOCKER_NAME mysql -u root --password=YOUR_PASS --database=YOUR_DB < ./dump.sql

使用在Linux上创建的200MB转储文件在Windows w/ mysql 5.5上进行恢复,我使用

source file.sql

方法从mysql提示符比用

mysql  < file.sql

在命令行,这导致一些错误2006“服务器已经离开”(在windows)

奇怪的是,在(mysql)安装期间创建的服务引用了一个不存在的my.ini文件。我将“大”示例文件复制到my.ini中 我已经按照建议的增加量进行了修改。

我的价值观是

[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

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

你只需要运行这个:

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

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

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

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