发生MySQL server has gone away的最常见原因是连接闲置超时,被服务器中断连接。默认情况下,服务器关闭空闲时间超过8小时的连接,可以通过设置变量wait_timeout,来改变默认值8小时,同时还需要修改interactive_timeout。 wait_timeout:服务器关闭非交互连接之前等待活动的秒数。 interactive_timeout:服务器关闭交互式连接前等待活动的秒数
MySQL命令行默认是重连的,但有一些应用程序没有重连的机制,往往会导致执行失败。 导致MySQL server has gone away错误的一些其他原因如下: (1).使用KILL命令或mysqladmin kill命令杀死了正在运行的线程 (2).在关闭了与服务器的连接后试图运行查询 (3).在客户端的一侧遇到TCP/IP连接超时错误 (4).在服务器端遇到超时错误,而且禁止了客户端中的自动连接机制 (5).如果向服务器发出了不正确或过大的查询,也会遇到这类问题,如果mysqld收到过大的或者无序的信息包,它会认为客户端出错并关闭连接。如果需要执行较大的查询,则可以通过设置服务器的max_allowed_packet 变量,增加查询限制值,该变量的默认值是1MB。 |
免责声明:本站部分文章和图片均来自用户投稿和网络收集,旨在传播知识,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系我们及时修正或删除。谢谢!
始终以前瞻性的眼光聚焦站长、创业、互联网等领域,为您提供最新最全的互联网资讯,帮助站长转型升级,为互联网创业者提供更加优质的创业信息和品牌营销服务,与站长一起进步!让互联网创业者不再孤独!
扫一扫,关注站长网微信