我获得了一个MySQL数据库文件,需要将其还原为Windows Server 2008计算机上的数据库。
我尝试使用MySQL Administrator,但出现以下错误:
所选文件是由mysqldump生成的,不能由该应用程序还原。
我该如何工作?
#1楼
它应该像运行此命令一样简单:
mysql -u <user> -p < db_backup.dump
如果转储是单个数据库,则可能必须在文件顶部添加一行:
USE <database-name-here>;
如果它是许多数据库的转储,则use语句已在其中。
要运行这些命令,请打开命令提示符(在Windows中)并cd
到mysql.exe
可执行文件所在的目录(您可能需要仔细检查一下,这取决于安装mysql的方式,即独立安装或作为WAMP等软件包的一部分)。 进入该目录后,应该能够像上面一样输入命令。
#2楼
当我们使用mysqldump
创建转储文件时,它包含的是一个很大的SQL脚本,用于重新创建数据库内容。 因此,我们通过启动MySQL的命令行客户端来还原它:
mysql -uroot -p
(其中root
是MySQL的管理员用户名),一旦连接到数据库,我们需要使用命令来创建数据库并向其中读取文件:
create database new_db;
use new_db;
\. dumpfile.sql
根据创建转储文件时使用的选项,详细信息会有所不同。
#3楼
您只需要运行以下命令:
mysql -p -u[user] [database] < db_backup.dump
如果转储包含多个数据库,则应省略数据库名称:
mysql -p -u[user] < db_backup.dump
要运行这些命令,请打开命令提示符(在Windows中)并cd
到mysql.exe
可执行文件所在的目录(您可能需要仔细检查一下,这取决于安装mysql的方式,即独立安装或作为WAMP等软件包的一部分)。 进入该目录后,您应该只需键入命令即可。
#4楼
您可以尝试使用SQLyog “执行SQL脚本”工具来导入sql / dump文件。
#5楼
使用在Linux上创建的200MB转储文件在带有mysql 5.5的Windows上还原,我在使用
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
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3157615