我得到了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008机器上的数据库。
我尝试使用MySQL管理员,但我得到以下错误:
所选文件由 Mysqldump,不能恢复 这个应用程序。
我如何让它工作?
我得到了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008机器上的数据库。
我尝试使用MySQL管理员,但我得到以下错误:
所选文件由 Mysqldump,不能恢复 这个应用程序。
我如何让它工作?
当前回答
如果你已经在mysql提示,并假设你的转储文件转储。Sql,那么我们还可以使用如下命令来恢复转储
mysql> \. dump.sql
如果您的转储大小较大,请将max_allowed_packet值设置为更高。设置此值将帮助您更快地恢复转储。
其他回答
如果备份/转储不是在MySQL管理中创建的,则不能使用MySQL管理中的Restore菜单。不过还是值得一试。如果你选择“忽略错误”的复选框,它会说它成功完成,尽管它显然只导入了一小部分行…注意,这是在垃圾场。
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
看这里——第三步:这样你就不需要USE语句了
如果你已经在mysql提示,并假设你的转储文件转储。Sql,那么我们还可以使用如下命令来恢复转储
mysql> \. dump.sql
如果您的转储大小较大,请将max_allowed_packet值设置为更高。设置此值将帮助您更快地恢复转储。
它应该像运行这样简单:
mysql -u <user> -p < db_backup.dump
如果转储的是单个数据库,您可能需要在文件顶部添加一行:
USE <database-name-here>;
如果它是许多数据库的转储,则use语句已经在其中。
要运行这些命令,打开一个命令提示符(在Windows中),并cd到mysql.exe可执行文件所在的目录(你可能需要四处寻找,这取决于你如何安装mysql,即独立或作为WAMP包的一部分)。进入该目录后,您应该能够像上面那样键入命令。
本地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