整理了几种解决方法,仅供参考。
?
1.在数据库链接字符串中添加参数:
(省略前面的)&autoReconnect=true
?
注:mysql 5 之前的有效。
?
2.通过sql语句修改'wait_timeout'的值(需要重启mysql服务器):
use mysql; -- 在mysql库下。
SHOW GLOBAL VARIABLES LIKE 'wait_timeout'; -- 查看当前值。
SET GLOBAL wait_timeout = 1814400; -- 修改(这里为21天单位秒)。
?
注:也可以通过修改mysql配置文件进行修改(windows-my.ini;linux-my.cnf)
?
3.用定时任务定时查询数据库:
(1)如项目用的是spring,可以用spring之quartz定时任务。
(2)如果项目中用的hibernate,注意清理缓存问题。
?
4.通过修改相应连接池配置来解决:
(1)如使用c3p0连接池等。
?