在开发中,发现mysql数据库会在应用最后一次访问8小时后,自动进入休眠,这样就会导致在接下来的一次访问时报数据库连接失败错误。
导致这个问题的原因是mysql默认的系统参数wait_timeout是8个小时,我们只需要在系统中修改即可。
show global variables like 'wait_timeout';--全局变量
show session variables like 'wait_timeout';--会话变量
然后我们把这两个全部进行修改到86400(60s*60*24h):
set global wait_timeout = 86400;
set session wait_timeout = 86400;
问题解决!