Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1727638
  • 博文数量: 347
  • 博客积分: 9328
  • 博客等级: 中将
  • 技术积分: 2680
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-29 23:45
文章分类

全部博文(347)

文章存档

2016年(1)

2013年(4)

2012年(207)

2011年(85)

2010年(50)

分类: Mysql/postgreSQL

2013-01-07 10:24:08

原文:http://www.cnblogs.com/neonlight/archive/2008/08/25/1276178.html

近一段时间,很多部门同事反映在使用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


windows下在my.ini文中增加:

interactive_timeout=28800000
wait_timeout=28800000

阅读(3842) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~