如不雅uptime数值很大年夜,注解MySQL办事运行了良久了,解释比来办事没有重启过。 如不雅日记没有相干信息,也解释MySQL办事比来没有重启过,可以持续检查下面几项内容。
原因2:连接超时
如不雅法度榜样应用的是长连接,则这种情况的可能性会比较大年夜。 即某个长连接良久没有提议新的请求,达到了server端的time out,被server强行封闭。此后再经由过程这个client提议萌芽的时刻,就会报错server has gone away。
- $ mysql -uroot -p -e "show global variables like '%timeout';"+----------------------------+----------+
- | Variable_name | Value |
- +----------------------------+----------+
- | connect_timeout | 30 |
- | delayed_insert_timeout | 300 |
- | innodb_lock_wait_timeout | 50 |
- | innodb_rollback_on_timeout | OFF |
- | interactive_timeout | 28800 |
- | lock_wait_timeout | 31536000 |
- | net_read_timeout | 30 |
- | net_write_timeout | 60 |
- | slave_net_timeout | 3600 |
- | wait_timeout | 28800 |
- +----------------------------+----------+mysql> SET SESSION wait_timeout=5;#Wait 10 secondsmysql> SELECT NOW();
- ERROR 2006 (HY000): MySQL server has gone away
- No connection. Trying to reconnect...
- Connection id: 132361
- Current database: *** NONE ***+---------------------+
- | NOW() |
- +---------------------+
- | 2013-01-02 11:31:15 |
- +---------------------+
- 1 row in set (0.00 sec)
原因3: 过程在server端被主动kill
这种原因和第2种原因比较类似,只是提议者是DBA,或者其他job,发明有长时光的慢萌芽履行kill xxx导致。
原因4: Your SQL statement was too large
当萌芽的结不雅集跨越 max_allowed_packet 也会出现如许的报错,定位办法是打出相干报错的语句。 用select*into outfile 的方法导出到文件,查看文件大年夜小是否跨越max_allowed_packet,如不雅跨越则须要调剂参数,或者优化语句。
- mysql> show global variables like
推荐阅读
IT部门如何制定“靠谱”的考核策略,听听这些CIO们的一手经验
团队是表现企颐魅战斗力的最小组织单位,很多情况下,我们张口钳口谈团队协作精力。然则,每个团队成员工作时的状况和心态截然不合,在一个团队中吃“大年夜锅饭”不免有人懈怠>>>详细阅读
本文标题:MySQL Server has gone away报错原因汇总版
地址:http://www.17bianji.com/lsqh/37628.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示