数据库在业务开发中的作用不言而喻,而有时我们总是被大事务,长时间的查询等所困扰,因为这些问题可能会导致数据库处理能力大大下降,从而严重影响应用程序的响应能力。当然我们可以使用简单的命令来处理这些问题,比如使用kill杀死对应的线程,但是还是比较麻烦,此时我们可以考虑使用工具,而percona的pt-kill就提供了这个能力,下面我们一起来看下如何使用。
1:安装在这里 下载源码包,然后执行如下命令安装即可:
tar xvzf Data-Dumper-2.154.tar.gz cd Data-Dumper-2.121 perl Makefile.PL make make install
可能的错误和解决方案:
错误:Can’t locate ExtUtils/MakeMaker.pm in @INC
解决方案:yum install perl-ExtUtils-MakeMaker
错误:bash:gcc:command not found
解决方案:yum install gcc
错误:Can't locate Data/Dumper.pm in @INC
解决方案:
wget http://www.cpan.org/modules/by-module/Data/Data-Dumper-2.154.tar.gz
chmod +x Data-Dumper-2.154.tar.gz
tar xvzf Data-Dumper-2.154.tar.gz
cd Data-Dumper-2.154
perl Makefile.PL
make
make install
2:命令介绍
pt-kill命令主要分为如下四个部分,参考截图:
3:实例 3.1:杀死执行时间超过20s的语句如下模拟sql语句:
SELECT SLEEP(50000);
show processlist查看:
执行命令:
[root@localhost Data-Dumper-2.154]# pt-kill --host=192.168.10.119 --port=3366 --user=root --password=root --match-command="Query" --busy-time 30 --victims all --interval 10 --print --kill --log=/tmp/1.log # 2022-06-06T13:55:47 KILL 45 (Query 475 sec) select sleep(50000)
其它可以通过参数配置自行测试使用。
写在后面参考文章列表:
Pt-kill使用方法简介 | 美创运维日记 。



