码迷,mamicode.com
首页 > 数据库 > 详细

MySQL的TIME_WAIT连接过多的解决方法

时间:2016-03-17 19:55:08      阅读:321      评论:0      收藏:0      [点我收藏+]

标签:linux mysql time_wait


今天上MySQL服务器看了下并发,发现了以下情况

MySQL的TIME_WAIT连接过多,吓了我一跳,因为这个服务器我很少去管理,今天突然想上来看看,发现了这个问题。以下是我的解决方法


[root@localhost data]# ss -an | grep 3306 | wc -l
1402
[root@localhost data]#mysql -uroot -p


mysql> show variables like "time_timeout";

| wait_timeout               | 28800             |

终于发现问题了,这里的超时时间是28800秒技术分享

然后我就使用以下的步骤解决了。


1、在/etc/sysctl.conf中添加下以下内容

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30


然后使用sysctl -p命令将其生效


2、在/etc/my.cnf中添加以下内容

#在[mysqld]中添加

[mysqld]

#这个参数是修改上面查询到的28800秒,我修改为了30秒

wait_timeout = 30


3、重启服务器即可

当然了,这个方法很笨,如果是线上的服务器就不要用这个方法了。


如果不能重启服务的可以直接修改全局变量

mysql> set global wait_timeout=30;





本文出自 “小莫” 博客,请务必保留此出处http://xiaofengmo.blog.51cto.com/10116365/1752160

MySQL的TIME_WAIT连接过多的解决方法

标签:linux mysql time_wait

原文地址:http://xiaofengmo.blog.51cto.com/10116365/1752160

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!