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

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

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

[[email protected] data]# ss -an | grep 3306 | wc -l
1402
[[email protected] 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;

时间: 2024-10-07 11:14:26

MySQL的TIME_WAIT连接过多的解决方法的相关文章

mysql无法远程连接到数据库解决方法

ERROR 1130: Host ’xxx.xxx.xxx.xxx′ is not allowed to connect to this MySQL server这是告诉你没有权限连接指定IP的主机,下面我们来看看解决办法. 1.授权法 例如,你想"myuser"使用密码为"mypassword"从任何主机连接到mysql服务器的话. GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%'IDENTIFIED BY 'mypasswo

linux TIME_WAIT过多的解决方法

查看TCP状态:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'查看SOCKET状态:cat /proc/net/sockstatTIME_WAIT状态的socket一般需要等到2msl时间后,socket才会被回收.修改(添加)系统内核参数:/etc/sysctl.conf #改系統默认的TIMEOUT时间net.ipv4.tcp_fin_timeout=2 #启重用,允许将TIME-WAIT socket

LIGHTSWITCH 连接 MYSQL,中文字符不能保存----解决方法。

使用:dotConnect for MySQL () 作为 数据库连接的PROVIDER ,  在 LIGHTSWITCH 中 引用外部的MYSQL 数据源. http://www.devart.com/dotconnect/mysql/      也有  postgre LS 项目没有使用:中文 ,而是使用 EN  产生?  后来修改了.只是 没有进一步测试. LIGHTSWITCH 连接 MYSQL,中文字符输入时,出现不能保存. 1) 检查 MYSQL 数据库及表.字段定义 ,都是:UTF

不能打开到主机的连接,在端口1521:连接失败的解决方法

能打开到主机的连接,在端口1521:连接失败的解决方法 今天启动工程,突然提示无法连接远程Oracle.我试着telnet Oracle服务器1521 端口,提示连接失败. D:\Documents and Settings\Administrator>telnet 10.201.70.68 1521 www.2cto.com 正在连接到10.201.70.68...不能打开到主机的连接, 在端口 1521: 连接失败 Oracle服务器与本机都在局域网内,不存在网络不通问题,怎么会无法连接.

mysql执行show processlist unauthenticated user 解决方法

一台unibilling机器前几天突然负载变重. 在top中发现cpu被大量占用. agi程序运行的很慢,并出现僵尸进程. 其实当时只有50个左右的并发呼叫. 远远达不到正常水准. 重新启动机器问题也没得到解决. 非常奇怪. 考虑到在top中看到mysqld占用的资源最多,就进入mysql控制台,运行 show processlist命令, 发现某进程的信息很特殊:  代码如下 复制代码 User "unauthenticated user" Command "connect

linux中某个端口拒绝远程主机连接原因及解决方法

linux中某个端口拒绝远程主机连接原因及解决方法 问题描述: 比如在本机telent到192.168.8.170 主机的9000 端口,被拒绝. [[email protected] log]$ telnet 192.168.8.170 9000 Trying 192.168.8.170... telnet: connect to address 192.168.8.170: Connection refused 原因:原因有两个 一个是被防火墙拦截 或者该端口的监听地址为本机(127.0.0

vc++ 编译连接错误and解决方法

1. LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol [email protected] Debug/lizi.exe : [分析]: 项目创建错误,因该选择Win32 Console Project,而不是 Win32 Projectvc++ 编译连接错误and解决方法,布布扣,bubuko.com

VPN客户端出现“无法完成连接尝试”的解决方法

VPN客户端出现“无法完成连接尝试”的解决方法 在Windows 7.Windows 8.Windows 10的客户端,在连接VPN服务器的时候,如果出现“无法完成连接尝试”,如图1-1所示. 图1-1 无法完成连接尝试 在图1-1中单击“详细信息”,此时会提示“服务器 XXX具有 YYY颁发的有效证书,但YYY未配置为该配置文件的有效信任密钥.而且,服务器XXX未配置为有效的NPS服务器,无法连接到该配置文件”,如图1-2所示.单击“连接”按钮,才能连接到VPN服务器. 图1-2 无法连接到配

关于php读mysql数据库时出现乱码的解决方法

关于php读mysql数据库时出现乱码的解决方法 php读mysql时,有以下几个地方涉及到了字符集. 1.建立数据库表时指定数据库表的字符集.例如 create table tablename ( id int not null auto_increment, title varchar(20) not null, primary key ('id') )DEFAULT CHARSET =UTF8; 复制代码 2. mysql的字符集 mysql中有三个重要的变量,character_set_