我正在办公室运行一台服务器来处理一些文件,并将结果报告给远程MySQL服务器。
文件处理需要一段时间,进程中途死亡,并出现以下错误:
2006, MySQL server has gone away
我听说过MySQL的设置,wait_timeout,但是我需要在我办公室的服务器或远程MySQL服务器上更改它吗?
我正在办公室运行一台服务器来处理一些文件,并将结果报告给远程MySQL服务器。
文件处理需要一段时间,进程中途死亡,并出现以下错误:
2006, MySQL server has gone away
我听说过MySQL的设置,wait_timeout,但是我需要在我办公室的服务器或远程MySQL服务器上更改它吗?
当前回答
在MAMP(非专业版)中我添加了
--max_allowed_packet=268435456
到 ...\MAMP\bin\startMysql.sh
更多细节请点击这里
其他回答
在windows上,那些使用xampp的人应该使用这个路径xampp/mysql/bin/my.ini,并将max_allowed_packet(在部分[mysqld]下)更改为您选择的大小。 如
max_allowed_packet=8M
再次在php.ini(xampp/php/php.ini)中更改upload_max_filesize选项大小。 如
upload_max_filesize=8M
让我头疼了一段时间,直到我发现这个。希望能有所帮助。
对于使用XAMPP的用户,在C:\ XAMPP \mysql\bin\my.ini中有2个max_allowed_packet参数。
如果你使用xampp服务器:
打开xampp -> mysql -> bin -> my.ini
参数如下:
max_allowed_packet = 500M
innodb_log_file_size = 128M
这对我帮助很大:)
此错误是由于wait_timeout过期引起的。
去mysql服务器检查它的wait_timeout:
mysql>显示wait_timeout这样的变量 Mysql > set global wait_timeout = 600 # 10分钟或最大等待时间 你需要的
http://sggoyal.blogspot.in/2015/01/2006-mysql-server-has-gone-away.html
我在DigitalOcean Ubuntu服务器上也出现了同样的错误。
我尝试改变max_allowed_packet和wait_timeout设置,但他们都没有修复它。
原来我的服务器内存不足。我添加了一个1GB的交换文件,这解决了我的问题。
用free -h检查你的内存,看看这是否是导致它的原因。