Java程序连接MySQL数据库,会出现下面这个错误,错误信息如下所示: Communications link failure due to underlying exception: java.io.EOFException at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1913) at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2304) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2803) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1573) 产生这个问题的原因是当应用程序和数据库建立连接时候,如果超过了8个小时,应用程序语句不去访问数据库,数据库就会断掉连接。如果此时再次去访问数据库就会出现上面的错误信息。这就是“重名昭著”的MySQL八小时问题。 解决办法: 增大interactive_timeout值 set global interactive_timeout=288000 # vi /etc/my.cnf [mysqld] interactive_timeout=288000