MySQL第二天早上第一次连接超时报错,解决方法
MySQL第二天早上第一次连接超时报错,解决方法
部署项目的时候,一开始程序运行正常,可是到第二天,就莫名其妙服务器挂掉,还抛出com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常
可是重启下又好了。这是由于mysql5将其连接的等待时间(wait_timeout)缺省为8小时。如果在wait_timeout秒期间内,数据库连接(java.sql.Connection)一直处于等待状态,mysql5就将该连接关闭。这时,你的Java应用的连接池仍然合法地持有该连接的引用。当用该连接来进行数据库操作时,就碰到上述错误。这解释了为什么我的程序第二天不能登录 的问题。
工具/原料
-
mysql,mysql客户端软件
方法/步骤
-
查看wait_timeout的默认值,如下SQL,其默认值为28800,也就是8小时
mysql> show global variables like 'wait_timeout';
-
修改SQL如下,设置为最大
mysql> set global wait_timeout=604800;