昨天服务器丢失与mysql的连接了,半夜的时候,客服给我打电话,我到服务器上看日志,看到日志中显示MySql 2013错误。
2022-04-17 13:49:53 [167558.625s][ERROR] Lost connection to MySQL server during query
2022-04-17 13:49:53 [167558.625s][ERROR] Failed execute SQL command: call update_ranking(?,?,?,@code), with error: {U32: 2013}
2022-04-17 13:49:54 [167559.656s][ERROR] Got a packet bigger than 'max_allowed_packet' bytes
错误日志内显示了为什么会丢失连接,服务器用了mysql_ping 函数来保持和服务器连接的。正常情况下是不应该丢失连接。于是去查了一下这个字段的长度,表内MBLOB的最大长度是16MB,输入的内容的长度大概是1MB,服务器内设置的 max_allowed_packet 就是1MB。
问题找到了,在my.ini内设置max_allowed_packet=1024MB
然后重启服务器,问题解决。
解决MySQL连接丢失与max_allowed_packet问题

在服务器运行过程中遇到了MySQL连接意外断开的问题,日志显示错误为'Mysql2013'和'max_allowed_packet'。通过检查发现,输入内容长度超过MBLOB字段限制,且服务器设置的'max_allowed_packet'为1MB。为了解决这个问题,将'max_allowed_packet'在my.ini配置文件中设置为1024MB,并重启服务器,从而成功解决了连接丢失的故障。
1万+

被折叠的 条评论
为什么被折叠?



