mysql服务器默认的“wait_timeout”是28800秒即8小时,意味着如果一个连接的空闲时间超过8个小时,mysql将自动断开该连接,而连接池却认为该连接还是有效的(因为并未校验连接的有效性),当应用申请使用该连接时,就会导致下面的报错。
The last packet successfully received from the server was 596,688 milliseconds ago.
1.版本4之前有效:
在JDBC URL中使用autoReconnect属性:
2.版本5.0之后就需要修改MySQL的参数了,wait_timeout最大为31536000即1年,在my.cnf中加入:
重启生效,需要同时修改这两个参数。
有兴趣的朋友,可以阅读下mysql查询超时问题的实例分析这篇文章。
>>> 您可能感兴趣的文章:
mysql连接超时问题的解决办法