位置: 编程技术 - 正文
推荐整理分享percona 实用工具之pt-kill使用介绍(persona工具),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:percona-toolkit,perf工具使用,pert工具,per tool,pert工具,persona工具,pert工具,pert工具,内容如对您有帮助,希望把文章链接给更多的朋友!
pt-kill 是一个优秀的kill MySQL连接的一个工具,是percona toolkit的一部分,在因为空闲连接较多导致超过最大连接数、某个有问题的sql导致mysql负载很高时,都需要将一些连接kill掉,这个工具主要就是这个用途。
从show processlist 中获取满足条件的连接或者从包含show processlist的文件中读取满足条件的连接并打印或者杀掉或者执行其他操作,这个工具在工作中实用性很高,当服务器连接出现异常后第一想到的就是pt-kill,自己写一个脚本也可以,但是功能还是没有pt-kill强大;一般我喜欢将连接本地MySQL的必要信息放在一个文件文件中,当需要连接本地mysql时直接指定配置文件即可;
常用功能介绍pt-kill --defaults-file xx --match-command Sleep --kill --victims all --interval 每隔s 杀掉处于sleep状态的连接数;
pt-kill defaults-file xx --busy-time --kill --victims all --interval 每隔s 杀掉处初步runnning状态超过s的连接数;
几个重要参数--daemonize 放在后台以守护进程的形式运行;--interval 多久运行一次,单位可以是s,m,h,d等默认是s--victims 默认是oldest,只杀最古老的查询。这是防止被查杀是不是真的长时间运行的查询,他们只是长期等待。这种种匹配按时间查询,杀死一个时间最高值。 all 杀掉所有满足的线程 杀死所有,但最长的保留不杀
action--kill 杀掉连接并且退出--kill-query 只杀掉连接执行的语句,但是线程不会被终止--print 打印满足条件的语句
QUERY MATCHES--busy-time 批次查询已运行的时间超过这个时间的线程;--idle-time 杀掉sleep 了多少时间的连接线程,必须在--match-command sleep时才有效
更多介绍可以参考官方的文档: DumpConnectDelayed insertExecuteFetchInit DBKillPrepareProcesslistQuitReset stmtTable Dump?match-state
匹配当前连接的状态
Lockedlogincopy to tmp tableCopying to tmp tableCopying to tmp table on diskCreating tmp tableexecutingReading from netSending dataSorting for orderSorting resultTable lockUpdating?match-info
使用正则表达式匹配符合的sql
?match-db ?match-user ?match-host
见名知意
常用用法
杀掉空闲链接
pt-kill ?match-command Sleep ?idle-time 5 ?host ?port ?interval ?print ?kill ?victims all
杀掉运行时间超过5s的链接
pt-kill ?match-command Query ?busy-time 5 ?host ?port ?interval ?print ?kill ?victims all
杀掉匹配某个规则的正在运行的sql
pt-kill ?match-command Query ?busy-time 5 ?host ?port ?interval ?print ?kill ?victims all ?match-info
杀掉正在进行filesort的sql
pt-kill ?match-command Query ?match-state “Sorting result” busy-time 5 ?host ?port ?interval ?print ?kill ?victims all
杀掉正在Copying to tmp table的sql
pt-kill ?match-command Query ?match-state “Copying to tmp table” busy-time 5 ?host ?port ?interval ?print ?kill ?victims all
MySQL数据库遭到攻击篡改(使用备份和binlog进行数据恢复) 本文主要描述了MySQL遭到攻击篡改数据,利用从库的备份和主库的binlog进行不完全恢复。欢迎转载,请注明作者、出处。作者:张正QQ:如有疑问
IPv6设置后如何解决MySQL无法连接localhost的问题 使用phpmyadmin或者navicat链接数据库时提示【客户端软件无法连接localhost】经检查发现是IPV6地址监听了端口,而客户端软件不支持IPV6。新开的系统或者
mysql 加了 skip-name-resolve不能链接数据库问题的解决方法 mysql加了skip-name-resolve不能链接的问题,要确认MySql是否采用过主机名的授权在MySqlServer的配置文件My.ini中,增加如下两行:[mysqld]skip-name-resolve它将禁止My
标签: persona工具
本文链接地址:https://www.jiuchutong.com/biancheng/321315.html 转载请保留说明!上一篇:pt-kill 常用杀进程参数介绍(/kill @p)
友情链接: 武汉网站建设