废话不多说,直接上例子:

pt-kill --host=127.0.0.1 --user=xxx --password=xxxxxx --port=xxxx --busy-time 10 --match-info="SELECT * FROM|DELETE FROM XXX" --victim all --interval 5 \
--daemonize --pid=/tmp/ptkill.pid --log=/tmp/pt-kill.log --kill --print

部分选项释义:

--match-xxx 对应 show processlist 的各个字段:

+---------+-------------+------------------+---------+------------------+--------+---------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+---------+-------------+------------------+---------+------------------+--------+---------------------------------------------------------------+------------------+

--busy-time 15 匹配已运行超过此时间(秒)的查询。 查询必须处于Command = Query状态。 这与SHOW PROCESSLIST报告的查询的Time值匹配。

--kill-busy-commands --busy-time只匹配Command = Query的连接,但某些慢SQL Command = Execute,此时可使用 --kill-busy-commands=Query,Execute

--match-user="nice|dbuser01|dbuser02" 按照用户杀会话

--match-host="10.10.1.1|10.10.1.2" 按照会话连接的主机杀会话

--match-db="" 按照db匹配杀会话

--match-command="Query|Execute" 按照command匹配杀会话,(Command 取值有:Query, Sleep, Binlog Dump,Connect,Delayed insert,Execute
Fetch,Init DB,Kill,Prepare,Processlist,Quit,Reset stmt,Table Dump)

--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)

--match-info="" 仅匹配 Info 列与此Perl正则表达式匹配的查询。进程列表的 Info列显示正在执行的查询,如果没有执行查询,则显示NULL。

--match-all 匹配所有未被忽略的(--ignore 指定)查询(复制线程除外,除非指定了--replication-threads ),可与 --victim 合用,如:--match-all --victim oldest,只 kill 最老的查询

--victim 【 oldest | all | all-but-oldest 】

  • oldest kill 执行时间最长的那一条 SQL
  • all kill 所有匹配的 SQL
  • all-but-oldest 除执行时间最长的那条SQL外,其他匹配SQL全部 kill (与 oldest 相反)

--print 打印匹配的SQL,不执行 kill 操作

--kill ,kill 连接

--kill-query 仅 kill query ,不断开连接

--daemonize 后台运行

--log ,--daemonize(守护进程)启动时,将所有输出打印到此文件

--pid 创建一个 pid文件

--interval ,check and kill 的频率,单位秒

注意:在匹配杀线程时,内容一定要严格匹配大小写,否则会杀不掉。注意多个匹配之间用 | 分隔,否则会失效。

pt-kill MySQL会话杀灭神器的更多相关文章

  1. Mysql逆向工程效率神器之使用IDE自动生成Java实体类

    Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数据库 菜单View→Tool Windows→Dat ...

  2. MySQL性能优化神器Explain

    本文涉及:MySQL性能优化神器Explain的使用 简介 虽然使用Explain不能够马上调优我们的SQL,它也不能给予我们一些调整建议,但是它能够让我们了解MySQL 优化器是如何执行SQL 语句 ...

  3. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类

    笔记 6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类     简介:实战使用IDE根据Mysql自动生成java pojo实体类                  1.IDEA连接数 ...

  4. 批量 kill mysql 中运行时间长的sql

    1.通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令 mysql> select conc ...

  5. dbcp/c3p0连接池设置mysql会话变量

    我们有几个计算风控值的定时任务,几乎每隔5秒会更新所有账户的当前总资产并以此通知风控,每隔一小时就产生一两个G的binlog,几十台服务器折腾..数据库是公用的,代码是通过工具自动生成的,直接修改流程 ...

  6. 批量kill mysql processlist进程

    如果大批量的操作能够通过一系列的select语句产生,那么理论上就能对这些结果批量处理.但是mysql并没用提供eval这样的对结果集进行分析操作的功能.所以只能现将select结果保存到临时文件中, ...

  7. python mysql索引 优化神器explain 慢查询

    ##############总结########## 数据库中专门帮助用户快速找到数据的一种数据结构 类似于字典的目录的索引 索引的作用:约束和加速查找 工作原理: b+树形结构 最上层是树根,中间是 ...

  8. 批量 kill mysql 线程

    时常有一些烂sql跑在数据库里,我们要进行kill,避免影响拖垮数据库. mysql> show processlist; +----+------+---------------------+ ...

  9. (转)批量 kill mysql 中运行时间长的sql

    mysql> show full processlist; +--------+------+---------------------+------+---------+------+---- ...

随机推荐

  1. php-fpm nginx 超时参数设置

    php-fpm:request_terminate_timeout = 30php.ini:max_execution_time = 30 request_terminate_timeout 适用于, ...

  2. [golang]写了一个可以用 go 来写脚本的工具:gosl

    转自:https://golangtc.com/t/53cca103320b52060a000030 写了一个可以用 go 来写脚本的工具:gosl 代码和使用说明可以看这里: http://gith ...

  3. 《挑战30天C++入门极限》 对C++中引用的补充说明(实例)

        对C++中引用的补充说明(实例) #include <iostream>    #include <string>    using namespace std;    ...

  4. BAT 批量执行SQL脚本

    需要在BAT的sqlcmd中设置数据库连接信息. https://files.cnblogs.com/files/gguozhenqian/BAT%E6%89%A7%E8%A1%8CSQL%E8%84 ...

  5. 【洛谷】P3177 [HAOI2015]树上染色

    懒得复制题面了直接传送门吧 分析 直接求点与点之间的距离感觉不是很好求,所以我们考虑换一个求法. 瞄了一眼题解 距离跟路径上边的长度有关,所以我们直接来看每一条边的贡献吧(这谁想得到啊) 对于每一条边 ...

  6. svn部署-linux

    Svn作用 Subversion是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本,或是检查数据修改的历史,Subver ...

  7. Docker|部署及简单使用

    环境:VMware + centos7 + docker17.05.0 一.安装docker 1.修改ifcfg-ens33 配置虚拟机的网络,保证可以正常联网 命令:vi /etc/sysconfi ...

  8. sqlite3 查看Cookie文件<转>

    原帖地址:https://blog.csdn.net/yygydjkthh/article/details/37604309 .使用命令对此数据库进行打开: $ sqlite3 cookies.sql ...

  9. 到底啥是鸭子类型(duck typing)带简单例子

    #百度百科鸭子类型定义 这是程序设计中的一种类型推断风格,这种风格适用于动态语言(比如PHP.Python.Ruby.Typescript.Perl.Objective-C.Lua.Julia.Jav ...

  10. EditText限制输入的几种方式及只显示中文汉字的做法

    最近项目要求限制密码输入的字符类型, 例如不能输入中文.   现在总结一下EditText的各种实现方式,  以比较各种方法的优劣. 第一种方式:  设置EditText的inputType属性,可以 ...