问:怎样才干处理mysql 8小时闲暇后衔接超时的疑问?
答:当运用顺序和数据库树立衔接时,假设超越了8个小时,运用顺序句不会去访问数据库,数据库就会呈现断掉衔接的景象 。这时再次访问就会抛出异常,异常如下:
以下为援用的内容:Communications link failure due tounderlying exception:** BEGIN NESTED EXCEPTION **java.io.EOFExceptionSTACKTRACE: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)...
普通的处理方法大多是在数据库衔接字符串中添加“autoReconnect=true ”选项。但是这只对mysql4以前的版本有效。在最新的mysql中是无效的。原本要处理这个疑问也有一个容易的方法,就是修正mysql的启动参数。缺省情况下mysql的timeout时间是28800秒,正好是8小时,添加一个0就能够了。
同理也能够在" my.ini"文件中添加此参数。
mysqld-nt --default-table-type=innodb --interactive_timeout=288000