转载地址:
http://zp21th.itpub.net/ 使用mysql的过程出现数据库连接自动断开的问题 近一段时间,很多部门同事反映在使用mysql的过程出现数据库连接自动断开的问题,我对该问题做了一些实验。 关于mysql自动断开的问题研究结果如下,在mysql中有相关参数设定,当数据库连接空闲一定时间后,服务器就 会断开等待超时的连接: 1、相关参数,红色部分 mysql> show variables like '%timeout%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | connect_timeout | 5 | | delayed_insert_timeout | 300 | | innodb_lock_wait_timeout | 50 | | interactive_timeout | 28800 | | net_read_timeout | 30 | | net_write_timeout | 60 | | slave_net_timeout | 3600 | | wait_timeout | 28800 | +--------------------------+-------+ 同一时间,这两个参数只有一个起作用。到底是哪个参数起作用,和用户连接时指定的连接参数相关,缺省情况下是使用 wait_timeout。我建议是将这两个参数都修改,以免引起不必要的麻烦。 2、修改参数 这两个参数的默认值是8小时。我测试过将这两个参数改为0,结果出人意料,系统自动将这个值设置为1。换句话说,不能将该值设置为永久。我建议为参数值加三个0,这样肯定可以满足我们的应用要求。 修改操作:打开/etc/my.cnf,在属性组mysqld下面添加参数如下: [mysqld] interactive_timeout=28800000 wait_timeout=28800000 而win下面的 则在my.ini增加 interactive_timeout=28800000 wait_timeout=28800000