我正在办公室运行一台服务器来处理一些文件,并将结果报告给远程MySQL服务器。
文件处理需要一段时间,进程中途死亡,并出现以下错误:
2006, MySQL server has gone away
我听说过MySQL的设置,wait_timeout,但是我需要在我办公室的服务器或远程MySQL服务器上更改它吗?
我正在办公室运行一台服务器来处理一些文件,并将结果报告给远程MySQL服务器。
文件处理需要一段时间,进程中途死亡,并出现以下错误:
2006, MySQL server has gone away
我听说过MySQL的设置,wait_timeout,但是我需要在我办公室的服务器或远程MySQL服务器上更改它吗?
当前回答
我在DigitalOcean Ubuntu服务器上也出现了同样的错误。
我尝试改变max_allowed_packet和wait_timeout设置,但他们都没有修复它。
原来我的服务器内存不足。我添加了一个1GB的交换文件,这解决了我的问题。
用free -h检查你的内存,看看这是否是导致它的原因。
其他回答
我的问题是我为生产连接添加了SSL配置,这破坏了我的本地环境。很简单,但可能会帮助其他人意识到他们的问题。
如果你知道你要离线一段时间,你可以关闭连接,进行处理,重新连接并撰写报告。
我在DigitalOcean Ubuntu服务器上也出现了同样的错误。
我尝试改变max_allowed_packet和wait_timeout设置,但他们都没有修复它。
原来我的服务器内存不足。我添加了一个1GB的交换文件,这解决了我的问题。
用free -h检查你的内存,看看这是否是导致它的原因。
在MAMP(非专业版)中我添加了
--max_allowed_packet=268435456
到 ...\MAMP\bin\startMysql.sh
更多细节请点击这里
我也有同样的问题,但改变my.ini/my.cnf文件下[mysqld]的max_allowed_packet。
添加一条线
max_allowed_packet = 500
现在重新启动MySQL服务,一旦你完成。