MySQL 报错:Lost connection to MySQL server…
Lost connection to MySQL server…
解决办法:
1、通常它表示网络连接的问题,如果这个错误经常发生,检查网络状况。或者该错误消息包含在 “查询期间”,也很大可能是网络问题。
2、当 “查询数据” 时,如果存在一个查询需要发送数百万行数据这种行为,可以尝试增加 net_write_timeout 这个值为 60s 或更多(其默认值为 30 秒)。(当使用逻辑备份 mysqldump 时报错(mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `test` at row: 481 ),表示积压在内存中的数据等待写入到磁盘中,可以调整参数 net_write_timeout 到更长时间,但相对内存消耗会更高一些)。
3、控制客户端数据到 server 端的超时时间是参数 net_read_timeout,默认为30s,当存在大量数据插入的时候,可以适当调大该参数。
4、当客户端尝试初始连接到服务器时,connect_timeout 值若设置为只有几秒钟,可能也会发生这种情况。当一个很长的距离或连接速度较慢的连接过来时,需增加 connect_timeout 到10s甚至更长(默认10s)。通过使用 SHOW GLOBAL 来确定是否遇到是这种情况,状态值为 “Aborted_connects”。对于每个初始连接尝试失败的连接,它会加1,而在错误信息中会包含 “reading authorization packet” 之类的报错。
5、还有一种可能是遇到 BLOB 或者 TEXT 大于 max_allowed_packet 值的情况,这可能会导致某些客户端产生此错误。有时会看到 ER_NET_PACKET_TOO_LARGE 之类更详细的错误,增加 max_allowed_packet 值即可。
6、如果 wait_timeout 和 interactive_timeout (默认是 28800s,前者初始化来自于后者的全局设置值)设置的值比更前一层的应用连接超时时间小,也会出现这种报错。
本站大部分文章、数据、图片均来自互联网,一切版权均归源网站或源作者所有。
如果侵犯了您的权益请来信告知我们删除。邮箱:1451803763@qq.com