查找mysql超时默认配置值:
mysql> show variables;
wait_timeout | 28800
默认数据库8个小时断掉空闲连接
- 方式1:修改数据库配置, 延长wait_timeout时间:
步骤1:修改 /etc/my.cnf
在[mysqld]下增加:
wait_timeout=1296000
interactive_timeout=1296000
(720小时, 15天)
步骤2:重启mysql服务器
$ service mysqld restart
- 方式2: 修改数据连接池配置
在application.properties增加如下配置(spring boot):
#每2000秒进行一次connection的检验
spring.datasource.time-between-eviction-runs-millis=20000
#每次检验中将超过28700秒处于空闲的connection断开
spring.datasource.min-evictable-idle-time-millis=28700