pt-kill杀死MySQL连接。pt-kill连接到MySQL,如果没有给出FILE,则从SHOW PROCESSLIST获取查询。否则,它从一个或多个FILE读取包含SHOW PROCESSLIST输出的查询。如果FILE是 - ,pt-kill从STDIN读取。
先给一个成熟使用的命令
/home/percona-toolkit-2.2.19/bin/pt-kill --log-dsn D=testdb,t=kill_log --create-log-table --host=172.16.1.2--user=root --password=passwd --port=3306 --busy-time=30 --print --kill-query --match-info "SELECT|select" --victims all
命令的解释: 杀死运行30秒以上的 select 语句,将kill 记录打印记录到 数据库 testdb 的biao kill_log 里面
几个重要参数
--busy-time 运行时间
--match-info 匹配查询
--daemonize 放在后台以守护进程的形式运行; --interval 多久运行一次,单位可以是s,m,h,d等默认是s --victims 默认是oldest,只杀最古老的查询。这是防止被查杀是不是真的长时间运行的查询,他们只是长期等待。这种种匹配按时间查询,杀死一个时间最高值。 all 杀掉所有满足的线程 杀死所有,但最长的保留不杀 action --kill 杀掉连接并且退出 --kill-query 只杀掉连接执行的语句,但是线程不会被终止 --print 打印满足条件的语句