MySQL server has gone away 问题排查
报错:
生产上两个业务都碰到这个问题:python客户端请求时,报错
2006, MySQL server has gone away (ConnectionResetError(104, 'Connection reset by peer'))
原因分析:
两个业务服务都是用的python,报错后服务不可用,但是数据库查询操作都正常,重启业务服务后恢复正常。
其中一个业务是偶尔碰到,没摸到规律。
另一个业务是隔了一周没有使用之后,发现连接就报错了
初步定位在超时
具体排查:
登陆数据库执行
show variables like '%timeout%';
发现wait_timeout参数设置的是28800,也就是8小时。
对比其他正常业务的数据库,配的是一年。31536000。
验证8小时无连接后服务就不正常。
解决方法:
set global wait_timeout=31536000;
参考https://www.cnblogs.com/ivictor/p/5979731.html