mysql八小时问题

默北 MySQLmysql八小时问题已关闭评论8,829字数 551阅读1分50秒阅读模式

Java程序连接MySQL数据库,会出现下面这个错误,错误信息如下所示:

Communications link failure due to underlying exception:文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

java.io.EOFException文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913)文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2304)文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2803)文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573)文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

产生这个问题的原因是当应用程序和数据库建立连接时候,如果超过了8个小时,应用程序语句不去访问数据库,数据库就会断掉连接。如果此时再次去访问数据库就会出现上面的错误信息。这就是“重名昭著”的MySQL八小时问题。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

解决办法:文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

增大interactive_timeout值文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

set global interactive_timeout=288000文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

# vi /etc/my.cnf文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

[mysqld]文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

interactive_timeout=288000文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/

文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-8-hours/
weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北
  • 本文由 发表于 08/02/2012 23:08:20
  • 转载请务必保留本文链接:https://www.ttlsa.com/mysql/mysql-8-hours/
  • interactive_timeout
  • java
  • mysql
  • MysqlIO.java
  • mysql八小时