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
热衷于学习讨论MySQL和SQL Server,NoSQL等数据库技术,欢迎加入SQL优化群:659336691