服务器上总是会出现too many connections,

出现 了就增加连接数量

传统的解决办法

mysql -u root -p;
 
show variables like '%max_connections%';
 
show status like 'Max_used_connections';
 
set gobal max_connections=500;

治标不治本,没过多久,又出现问题了,

查看processlist

SHOW PROCESSLIST;

查看processlist发现有大量状态为“Waiting in connection_control plugin”的等待连接。

连接异常(用户名密码错误)导致connectioncontrol 插件进行拦截,拦截用户身份验证处于 “waiting in connection_control plugin”的链接延迟状态

生成杀死大量waiting连接的命令

select concat('kill ',ID,';')  
from information_schema.PROCESSLIST 
where Command='Connect' and 
STATE='Waiting in connection_control plugin';

将结果复制到mysql命令行,执行就ok了。

问题的根源

然后找发现还会生成状态为“Waiting in connection_control plugin”的等待连接,

经查询对应的Host,原来是自己的一个很旧的服务在一直跑着,但后来mysql密码更改了,造成这个程序一下在重新尝试连接Mysql,,,杀掉它,问题解决。。。