我正在办公室运行一台服务器来处理一些文件,并将结果报告给远程MySQL服务器。
文件处理需要一段时间,进程中途死亡,并出现以下错误:
2006, MySQL server has gone away
我听说过MySQL的设置,wait_timeout,但是我需要在我办公室的服务器或远程MySQL服务器上更改它吗?
我正在办公室运行一台服务器来处理一些文件,并将结果报告给远程MySQL服务器。
文件处理需要一段时间,进程中途死亡,并出现以下错误:
2006, MySQL server has gone away
我听说过MySQL的设置,wait_timeout,但是我需要在我办公室的服务器或远程MySQL服务器上更改它吗?
当前回答
这可能是.sql文件大小的问题。
如果您正在使用xampp。打开xampp控制面板->单击MySql配置->打开my.ini。
增加数据包大小。
max_allowed_packet = 2M -> 10M
其他回答
不太可能的情况是,在客户端和服务器之间有一个防火墙,强制TCP重置到连接中。
我遇到了这个问题,我发现我们公司的F5防火墙被配置为终止空闲超过5分钟的非活动会话。
再说一次,这是不太可能发生的情况。
如果你知道你要离线一段时间,你可以关闭连接,进行处理,重新连接并撰写报告。
我在MySQL命令行中使用了以下命令来恢复一个超过7GB的MySQL数据库,它是有效的。
set global max_allowed_packet=268435456;
我在Ubuntu桌面上的不同MySQL客户端软件中得到了2006年错误消息。原来我的JDBC驱动程序版本太旧了。
取消my.ini/my.cnf中下面的ligne的注释,这将把你的大文件分割成小部分
# binary logging format - mixed recommended
# binlog_format=mixed
TO
# binary logging format - mixed recommended
binlog_format=mixed