• 技术文章 >数据库 >mysql教程

    pt-kill 常用杀进程参数介绍_MySQL

    PHP中文网PHP中文网2016-05-27 13:44:30原创840
    pt-kill 是一个优秀的kill MySQL连接的一个工具,是percona toolkit的一部分,在因为空闲连接较多导致超过最大连接数、某个有问题的sql导致mysql负载很高时,都需要将一些连接kill掉,这个工具主要就是这个用途。

    1. 按user kill
    /usr/bin/pt-kill --busy-time 15 --match-user="dbUSER1 | dbUSER2,..." --victim all --interval 1 --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log
    注:测试通过按用户来杀线程,注意--match-user多个用户之间用 | 分隔。


    2. 按query来源 host kill
    /usr/bin/pt-kill --busy-time 15 --match-host="192.168.10.10 | 192.168.10.11" --victim all --interval 1 --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log
    --ignore-host / --match-host

    注:测试通过按来源host来杀线程,注意--match-host多个host之间用 | 分隔。


    3. 按command kill
    /usr/bin/pt-kill --busy-time 15 --match-command="query | Execute" --victim all --interval 1 --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log
    /usr/bin/pt-kill --busy-time 15 --ignore-command="sleep | binlogdump" --victim all --interval 1 --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log

    注:测试通过按command来杀掉线程,注意command的内容一定要严格匹配大小写,否则会杀不掉。 注意--match-command多个command之间用 | 分隔,否则会失效。
    (command有:Query、Sleep、Binlog Dump、Connect、Delayed insert、Execute、Fetch、Init DB、Kill、Prepare、Processlist、Quit、Reset stmt、Table Dump)


    4. 按state kill
    /usr/bin/pt-kill --busy-time 15 --match-state="Locked | Sending data" --victim all --interval 1 --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log
    注:测试通过按state 来杀掉线程,注意state 的内容一定要严格匹配大小写,否则会杀不掉。注意--match-state多个state之间用 | 分隔,否则会失效。
    (state类型有:Locked、login、copy to tmp table、Copying to tmp table、Copying to tmp table on disk、Creating tmp table、executing、Reading from net、Sending data、Sorting for order、Sorting result、Table lock、Updating)


    5. 按info关键字 kill
    /usr/bin/pt-kill --busy-time 15 --match-info="SELECT | DELETE" --victim all --interval 1 --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log
    注:测试通过按info来杀掉线程,注意info的内容一定要严格匹配大小写,否则会杀不掉。注意--match-info多个info之间用 | 分隔,否则会失效。
    --ignore-info / --match-info
    (info可以使用select、update、insert、delete来进行匹配,并可使用"|"进行多项匹配,如"select|SELECT|delete|DELETE|update|UPDATE"


    6. 按访问的dbname kill
    /usr/bin/pt-kill --busy-time 15 --match-db="db1 | db2" --victim all --interval 1 --kill --daemonize --pid=/tmp/ptkill.pid --print --log=/home/pt-kill.log
    --ignore-db / --match-db
    注:测试通过按db来杀掉线程,注意db的内容一定要严格匹配大小写,否则会杀不掉。注意--match-db多个db之间用 | 分隔,否则会失效。


    另: Action:
    --kill 杀掉连接并且退出
    --kill-query 只杀掉连接执行的语句,但是线程不会被终止

    以上就是pt-kill 常用杀进程参数介绍_MySQL的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:如何恢复MySQL主从数据一致性_MySQL 下一篇:解决MySQL Sending data导致查询很慢问题的方法与思路_MySQL
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• mysql中什么时候分表• mysql触发器怎么取消• mysql中odbc是什么• mysql的权限表有哪些• mysql有哪些索引类型
    1/1

    PHP中文网