pt-kill 是属于percona-toolkit中的一个工具,作用是kill mysql的连接,通过show processlist获得查询.

    1. #参数:
    2. --kill
    3. #kill mysql的连接
    4. --print
    5. #只显示不执行
    6. --busy-time=m
    7. #匹配运行时间超过m的连接,可以指定时间单位,默认单位秒
    8. --match-command
    9. #匹配当前连接的命令
    10. --victims
    11. #所有匹配的连接,不指定 只显示最早的命令 (只显示一条)
    12. 示例:(默认是一直执行)
    13. #kill超过60s的连接:
    14. pt-kill --user=root --password=root1234 --host=localhost --busy-time 60 --kill
    15. #输出超过2s的连接:
    16. pt-kill --user=root --password=root1234 --host=localhost --busy-time 2 --print
    17. # 2019-10-16T10:44:00 KILL 12 (Query 2 sec) (打印执行的命令)
    18. # 2019-10-16T10:44:01 KILL 12 (Query 3 sec) select sleep(10)
    19. # 2019-10-16T10:44:02 KILL 12 (Query 4 sec) select sleep(10)
    20. # 2019-10-16T10:44:03 KILL 12 (Query 5 sec) select sleep(10)
    21. #检查休眠进程,并每隔10skill:
    22. pt-kill --user=root --password=root1234 --host=localhost --match-command sleep --kill --victims all --interval 10
    23. #打印所有登陆信息:
    24. pt-kill --user=root --password=root1234 --host=localhost --match-command login --print --victims all
    25. #指定文件 --test-matching 先验证文件有效性再匹配
    26. mysql -uroot -proot1234 -e "show processlist" > processlist.txt
    27. pt-kill --user=root --password=root1234 --host=localhost --test-matching /tmp/processlist.txt --busy-time 60 --print