pt-kill MySQL会话杀灭神器
废话不多说,直接上例子:
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会话杀灭神器的更多相关文章
- Mysql逆向工程效率神器之使用IDE自动生成Java实体类
Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数据库 菜单View→Tool Windows→Dat ...
- MySQL性能优化神器Explain
本文涉及:MySQL性能优化神器Explain的使用 简介 虽然使用Explain不能够马上调优我们的SQL,它也不能给予我们一些调整建议,但是它能够让我们了解MySQL 优化器是如何执行SQL 语句 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类
笔记 6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数 ...
- 批量 kill mysql 中运行时间长的sql
1.通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令 mysql> select conc ...
- dbcp/c3p0连接池设置mysql会话变量
我们有几个计算风控值的定时任务,几乎每隔5秒会更新所有账户的当前总资产并以此通知风控,每隔一小时就产生一两个G的binlog,几十台服务器折腾..数据库是公用的,代码是通过工具自动生成的,直接修改流程 ...
- 批量kill mysql processlist进程
如果大批量的操作能够通过一系列的select语句产生,那么理论上就能对这些结果批量处理.但是mysql并没用提供eval这样的对结果集进行分析操作的功能.所以只能现将select结果保存到临时文件中, ...
- python mysql索引 优化神器explain 慢查询
##############总结########## 数据库中专门帮助用户快速找到数据的一种数据结构 类似于字典的目录的索引 索引的作用:约束和加速查找 工作原理: b+树形结构 最上层是树根,中间是 ...
- 批量 kill mysql 线程
时常有一些烂sql跑在数据库里,我们要进行kill,避免影响拖垮数据库. mysql> show processlist; +----+------+---------------------+ ...
- (转)批量 kill mysql 中运行时间长的sql
mysql> show full processlist; +--------+------+---------------------+------+---------+------+---- ...
随机推荐
- 配置django的环境实现外部脚本调用django中的模型类
通过导入os模块,os设置django的settings文件,配置好django项目的环境,然后执行django.set_up()使环境生效,然后就可以导入模型类,使用增删改查
- 代码格式化工具---indent工具
indent工具,可以把代码格式化成某种风格. 通过命令:rpm -qa | grep indent 查看是否安装了indent工具. 若没有,可使用命令sudo apt-get install ...
- 一个简单的setTimeout的问题
经常使用 setTimeout,并且自己认为也算比较熟悉这个函数的用法. 不过今天碰到了,突然发现自己没有意识到这个问题.于是作为一个记录点,进行巩固一下. var timer = window.se ...
- 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'
右键运行pytest run时报错,原因是pytest版本过高导致的.有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错 ...
- Docker hello workd
Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序. 输出Hello world runoob@runoob:~$ docker run ubunt ...
- kubernetes(K8S)创建自签TLS证书
TLS证书用于进行通信使用,组件需要证书关系如下: 组件 需要使用的证书 etcd ca.pem server.pem server-key.pem flannel ca.pem server.pem ...
- 2、vueJs基础知识02
vue生命周期: 钩子函数: created -> 实例已经创建 √ beforeCompile -> 编译之前 compiled -> 编译之后 ready -> 插入到文档 ...
- RabbitMQ入门学习系列(四) 发布订阅模式
发布订阅模式 什么时发布订阅模式 把消息发送给多个订阅者.也就是有多个消费端都完整的接收生产者的消息 换句话说 把消息广播给多个消费者 消息模型的核心 RabbitMQ不发送消息给队列,生产者也不知道 ...
- JavaScript初探系列目录
一 系列导航 结合各方面的参考资料,整理出来以下主要目录,供方便浏览查看 (一)初探系列 JavaScript初探系列(1)——基本概念 JavaScript初探系列(2)——数 ...
- Skpi List跳表
为什么选择跳表 目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等. 想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树 出来吗 ...