查询mysql,可以看到interactive_timeout
和wait_timeout
都是28800秒(8小时)
show variables like '%timeout%'
很多时候,我们服务器晚上是不用的,一般都会超过8个小时,所以第二天早上用的时候,Tersus连接项目就会报错,提示数据库没有连接上,但是多刷新几次页面,也能解决问题,就是有点烦。
解决这个问题有2个方法:
方法1:修改mysql里interactive_timeout
和wait_timeout
的2个参数。
参考:mysql连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案_samuelnotes的博客-CSDN博客_mysql连接空闲时间
方法2:利用心跳包的原理,定时连接数据
在项目根目录下,新建一个Service,可以重命名为“MySQL心跳包”,在里面放入一个“定时器”元件。
定时器里面执行SELECT 1 FROM DUAL
查询语句,这个语句只是连接测试,别的没有任何意义。
SELECT 1 FROM DUAL
这样项目启动后,数据库就不会断连了。