简要咨询咨询QQ网站导航网站搜索手机站点联系我们设为首页加入收藏 

mysql The last packet successfully received

来源:易贤网   阅读:1533 次  日期: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技术专栏

更多信息请查看数据库
点此处就本文及相关问题在本站进行非正式的简要咨询(便捷快速)】     【点此处查询各地各类考试咨询QQ号码及交流群
上一篇:oracle lag()和lead()
下一篇:如何把mysql服务添加到windows系统服务当中去
易贤网手机网站地址:mysql The last packet successfully received
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!