圈圈荒野网手机站
mysql数据库连接数过多如何释放(安全清理mysql数据内存的方法)
2022-06-28 18:45 "error":401,"message":"site error","url:"https://m.qqhuangye.com/yule/tag/2464.html

mysql数据库连接数过多如何释放(安全清理mysql数据内存的方法)

percona给mysql数据库提供了很多开源的工具,而且都非常好用,下面就先介绍一个杀会话的超强工具,比Mysql数据库自带的kill强太多,例如可以批量杀掉某个用户的会话,批量杀掉某个用户针对某个表的查询会话。
先介绍一下怎么安装percona-toolkit,检查需要的依赖包

rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL

如果有包缺失,可以通过yum进行安装

yum install perl-DBIyum install perl-DBD-MySQLyum install perl-Time-HiResyum install perl-IO-Socket-SSL

准备好之后,从percona的官网下载percona-toolkit工具包,下载网址如下所示

https://www.percona.com/downloads/percona-toolkit/LATEST/
下载好之后,就可以安装了

yum install percona-toolkit-3.1.0-2.el7.x86_64.rpm

安装好之后,就用下面的方法查看一下工具集

pt-kill就在其中,下面就介绍一下pt-kill最常用的功能

    安装用户去杀掉会话,并在将杀掉的日志记录到文件,后台执行
pt-kill --host 10.10.57.206 --port 3308 --user \'root\' --password \'root\' --match-user \'tony\' --victim all --interval 10 --kill --daemonize --print --log=/root/kill.log

执行之前tony用户有2个连接

执行之后,tony用户的两个连接被杀掉了

    安装应用IP来源去杀会话
pt-kill --host 10.10.57.206 --port 3308 --user \'root\' --password \'root\' --match-host \'10.10.57.208|10.10.57.209\' --victim all --interval 10 --kill --daemonize --print --log=/root/kill.log
    杀掉空闲时间超过10秒空闲连接
pt-kill --host 10.10.57.206 --port 3308 --user \'root\' --password \'root\' –match-command Sleep –idle-time 10 --victim all --interval 10 --kill --daemonize --print --log=/root/kill.log

喜欢我的小伙伴,可以在下方留言和关注。