当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 解析mysql 8小时空闲后连接超时的问题

MYSQL
初学者在使用MySQL时必须了解的注意事项
实例剖析:MySQL数据库优化详解
RedHat 9.0下用rpm包安装mysql
MYSQL 数据库同步
Windows XP操作系统下的MYSQL安装过程
Mysql入门系列:MySQL数据目录的位置
Mysql入门系列:MYSQL日志文件维护
Mysql入门系列:优化MYSQL服务器
MySQL数据库磁盘优化
MySQL数据库中应当如何实施info()函数
解析:怎样在MySQL中获得更好的搜索结果
怎样修改 MySQL数据库中的密码
如何正确编写高质量高性能的MySQL语法
细化解析:MySQL 搜索中的大小写敏感性
如何正确的解决 MySQL中忽略用户的现象
详解MySQL数据库中Show命令的用法
轻松掌握 MySQL的数字类型以及建库策略
怎样处理 MySQL中与文件许可有关的问题
教你快速实现 MySQL查询结果的分页显示
解析:MySQL对“服务器端光标”的限制

MYSQL 中的 解析mysql 8小时空闲后连接超时的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 78 ::
收藏到网摘: n/a

问:怎样才能解决mysql 8小时空闲后连接超时的问题?
答:当应用程序和数据库建立连接时,如果超过了8个小时,应用程序句不会去访问数据库,数据库就会出现断掉连接的现象 。这时再次访问就会抛出异常,异常如下:

Communications link failure due to
underlying exception:

** BEGIN NESTED EXCEPTION **

java.io.EOFException

STACKTRACE:

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