mysql The last packet successfully received
来源: 阅读:1529 次 日期:2015-04-01 16:52:35
温馨提示: 小编为您整理了“mysql The last packet successfully received”,方便广大网友查阅!

mysql服务器最近老是报错,内容如下:

The last packet successfully received from the server was 65,502,275 milliseconds ago. The last packet sent successfully to the server was 65,502,276 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.

主要的意思是:: 数据库有长连接,由于长时间没有使用,并且空闲时间超过了wait_timeout设置的时间。 数据库到了wait_timeout设定的时间,自动释放了链接。

客户端还有这个长连接,客户端使用这个长连接向mysql数据库发送消息,可是这个链接数据库服务器端已经释放了,所以爆出上面的错误.

如果你刚好在数据库超时的第一时间内看到日志记录的话那么,第一次超时发生的错误就是这样的:

ERROR [org.hibernate.util.JDBCExceptionReporter] - Communications link failure

Last packet sent to the server was 0 ms ago.

如果不是第一次超时后执行,以后每次报错就变成嵌套的错误了,就是下面这样:

ERROR [org.hibernate.util.JDBCExceptionReporter] -

No operations allowed after connection closed.Connection was implicitly closed due to underlying exception/error:

解决办法:由于项目中代码比较多,查找哪一个长连接没有释放很麻烦,过程如下:

(1)查看报错日志的详细信息,看关系到哪一个dao类出现的问题

(2)然后将mysql连接池最大、最小数据设置成3,1.

(3)然后打开3个浏览器,进行操作

(4)发现项目确实很慢,然后详细看了一下代码,确实由于一个地方连接池没有关系,导致链接一直存在,没有释放。

更多信息请查看IT技术专栏

更多信息请查看数据库
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map