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
喜欢我的小伙伴,可以在下方留言和关注。