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

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. 配置django的环境实现外部脚本调用django中的模型类

    通过导入os模块,os设置django的settings文件,配置好django项目的环境,然后执行django.set_up()使环境生效,然后就可以导入模型类,使用增删改查

  2. 代码格式化工具---indent工具

    indent工具,可以把代码格式化成某种风格. 通过命令:rpm -qa | grep indent 查看是否安装了indent工具. 若没有,可使用命令sudo apt-get  install   ...

  3. 一个简单的setTimeout的问题

    经常使用 setTimeout,并且自己认为也算比较熟悉这个函数的用法. 不过今天碰到了,突然发现自己没有意识到这个问题.于是作为一个记录点,进行巩固一下. var timer = window.se ...

  4. 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'

    右键运行pytest run时报错,原因是pytest版本过高导致的.有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错 ...

  5. Docker hello workd

    Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob:~$ docker run ubunt ...

  6. kubernetes(K8S)创建自签TLS证书

    TLS证书用于进行通信使用,组件需要证书关系如下: 组件 需要使用的证书 etcd ca.pem server.pem server-key.pem flannel ca.pem server.pem ...

  7. 2、vueJs基础知识02

    vue生命周期: 钩子函数: created -> 实例已经创建 √ beforeCompile -> 编译之前 compiled -> 编译之后 ready -> 插入到文档 ...

  8. RabbitMQ入门学习系列(四) 发布订阅模式

    发布订阅模式 什么时发布订阅模式 把消息发送给多个订阅者.也就是有多个消费端都完整的接收生产者的消息 换句话说 把消息广播给多个消费者 消息模型的核心 RabbitMQ不发送消息给队列,生产者也不知道 ...

  9. JavaScript初探系列目录

    一  系列导航 结合各方面的参考资料,整理出来以下主要目录,供方便浏览查看 (一)初探系列           JavaScript初探系列(1)——基本概念 JavaScript初探系列(2)——数 ...

  10. Skpi List跳表

    为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等. 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗 ...