回到顶部
您的当前位置: 编程语言> 数据库> MYSQL> 进阶应用
解决Mysql数据库8小时无连接自动关闭
2014-03-02 23:16:09
标签: 原创 Mysql数据库 8小时 无连接 自动关闭

    MySQL是一个小型关系型数据库管理系统,由于MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体成本而选择了MySQL作为网站数据库。

    关于mysql自动关闭服务的现象,可以通过mysql服务器端程序mysql Administrator调整连接参数。将max_connections、max_updates、max_questions三项数据调整到很大的数字,那么有限的操作将不会导致数据库服务的终止。在MySQL数据库中如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库连接的应用程序,特别是WEB应用程序出错。解决mysql数据库自动关闭服务三个方法:

方法一:调整参数wait_timeout

    wait_timeout的默认值为 28800秒(8小时),其意义为如果一个连接闲置超过这个选项所设置的秒数,MySQL会主动断开这个连接。

    修改操作:

    linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:

interactive_timeout=28800000
wait_timeout=28800000

    windows下打开my.ini,增加:

interactive_timeout=28800000
wait_timeout=28800000

    有实践表明,没有办法把这个值设置成无限大,即永久。因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。

方法二:修改JDBC连接的URL

    jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true

    添加 autoReconnect=true 这个参数,即能解决这个问题。

方法三:配置文件(proxool.xml)

    mysql

jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8
com.mysql.jdbc.Driver
90000
20
3
20
3
true
true
SELECT CURRENT_USER


    建议关于mysql自动关闭服务的三个方法,用户最好采取第一个办法最为彻底解决。