MySQL第二天早上第一次连接超时报错,解决方法

 

  • |
  • 浏览:44
  • |
  • 更新:2014-08-18 16:14

部署项目的时候,一开始程序运行正常,可是到第二天,就莫名其妙服务器挂掉,还抛出com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常

可是重启下又好了。这是由于mysql5将其连接的等待时间(wait_timeout)缺省为8小时。如果在wait_timeout秒期间内,数据库连接(java.sql.Connection)一直处于等待状态,mysql5就将该连接关闭。这时,你的Java应用的连接池仍然合法地持有该连接的引用。当用该连接来进行数据库操作时,就碰到上述错误。这解释了为什么我的程序第二天不能登录 的问题。 

 

 

工具/原料

  • mysql,mysql客户端软件

方法/步骤

  1.  

    查看wait_timeout的默认值,如下SQL,其默认值为28800,也就是8小时

    mysql> show global variables like 'wait_timeout'; 

    MySQL第二天早上第一次连接超时报错,解决方法
  2.  

    修改SQL如下,设置为最大

    mysql> set global wait_timeout=604800; 

    MySQL第二天早上第一次连接超时报错,解决方法
    END
 
 经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。