这两天,公司的mysql数据库总是报连接数超过最大的连接数了,而我们公司的开发人员没有那么多的,那么问题来了,这个问题一爆出来,导致开发进度受限,运维查了下,发现是我的ip竟然占用了70个连接,最大的连接数只有100个,我瞬间惊呆了,挺尴尬的。于是乎,我找寻如何去解决这样的问题,这里给大家介绍一种比较笨重的方法去手动杀死mysql的连接。
首选,我们需要得到如何杀死mysql的命令,于是,我们打开mysql的命令行,输入:select concat('KILL ',id,';') from information_schema.processlist where user='root' and db='tunicorn' and host like '172.16.1.105%'; 这里我的本地ip为172.16.1.105。如下:
这时,我们得到了上面的那个concat列,这时,将其复制进notepad++,然后使用notepad++的替换文本功能,将分号和下一个KILL命令中间的替换
替换后的情况如下:
这时复制这段命令,将其粘贴到mysql命令行去执行,这时便可以将连接删除,但是由于我们自身打开数据库有一个连接,所以会有一个剩余的连接是杀不掉的,不要大惊小怪。
我们再来看下还有多少连接就知道这种方法效果如何了。