pt-kill

pt-kill作用主要是用来杀掉MySQL的链接,在查杀进程的时候,它从show processlist 中获取满足条件的连接然后进行kill,也可以从从包含show processlist的文件中读取满足条件的连接然后进行输出或者查杀。
基本使用案例:
(1)查杀大于60秒的链接
pt-kill --busy-time 60 --kill

 

(2)打印出大于60秒的链接,不杀
pt-kill --busy-time 60 --print

 

我们执行一个全表扫描的操作然后观察:
[root@mxqmongodb2 bin]# ./pt-kill --busy-time 10 --host=172.16.16.35 --port=3306 --user=root --password=123456 --print
# 2017-06-23T16:07:13 KILL 17106 (Query 56 sec) select * from stock
# 2017-06-23T16:07:18 KILL 17106 (Query 61 sec) select * from stock

 

我们看下用(1)当中的方法杀掉这个进程:
[root@mxqmongodb2 bin]# ./pt-kill --busy-time 10 --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print
# 2017-06-23T16:10:37 KILL 17195 (Query 13 sec) select * from stock

 

看一下客户端的提示:
mysql> select * from stock;
ERROR 2013 (HY000): Lost connection to MySQL server during query

 

显示链接已经被杀掉了
(3)每10秒检查一次,发现有sleeping的进程就给干掉:
[root@mxqmongodb2 bin]# ./pt-kill --match-command Sleep --victims all --interval 10 --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print
# 2017-06-23T16:14:08 KILL 17108 (Sleep 0 sec) NULL
# 2017-06-23T16:14:18 KILL 17199 (Sleep 0 sec) NULL
# 2017-06-23T16:14:18 KILL 17142 (Sleep 0 sec) NULL
# 2017-06-23T16:14:28 KILL 17200 (Sleep 0 sec) NULL
# 2017-06-23T16:14:38 KILL 17203 (Sleep 0 sec) NULL
# 2017-06-23T16:14:48 KILL 17201 (Sleep 23 sec) NULL

 

(4)杀掉所有的链接
pt-kill --match-state login --print --victims all --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print

 

(5)通过文件查杀进程,大于60秒直接干掉:
mysql -uroot -p123456 -e "SHOW PROCESSLIST" > proclist.txt
pt-kill --test-matching proclist.txt --busy-time 60 --print

 

(6)也可以根据某些规则去查杀进程:
杀掉正在进行filesort的sql
pt-kill –match-command Query –match-state “Sorting result” busy-time 5 –interval –victims all --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print

 

杀掉正在Copying to tmp table的sql
pt-kill –match-command Query –match-state “Copying to tmp table” busy-time 5 -–interval –victims all --host=172.16.16.35 --port=3306 --user=root --password=123456 --kill --print

 

posted @ 2017-06-29 09:54  M哥  阅读(544)  评论(0编辑  收藏  举报