Mysql出现ERROR : (2006, ‘MySQL server has gone away‘)怎么解决
-
一、问题分析:
二、原因:
一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,只要修改my.cnf,加大max_allowed_packet的值即可。
一种可能是因为某些原因导致超时,比如说程序中获取数据库连接时采用了Singleton的做法,虽然多次连接数据库,但其实使用的都是同一个连接,而且程序中某两次操作数据库的间隔时间超过了wait_timeout(SHOW STATUS能看到此设置),那么就可能出现问题。最简单的处理方式就是把wait_timeout改大,当然你也可以在程序里时不时顺手mysql_ping()一下,这样MySQL就知道它不是一个人在战斗。
三、分析原因:
原因一:MYSQL服务宕机了
show global status like 'uptime';
原因二:MYSQL链接超时
show global variables like '%timeout';
原因三:MYSQL请求链接进程被主动KILL
show global status like 'com_kill';
原因四:your SQL statement was too large
show global variables like 'max_allowed_packet';
三、处理:
set global max_allowed_packet=1024*1024*16;
show global variables like 'max_allowed_packet';
推荐阅读
文章标签:
版权声明: 本文除特别说明外均由 麒麟在线 原创
本文链接: https://www.70ol.com/jishu/184.html,尊重共享,欢迎转载,请自觉添加本文链接,谢谢!
分享本文: 请填写您的分享代码。
呃 本文暂时没人评论 来添加一个吧
发表评论