生产环境中我们时常遇到这样的情况,数据库性能恶劣,需要马上杀掉全部会话,不然数据库就挂起来。我们可以先找show proce
sslist的输出来杀会话,但是比较麻烦。pt-kill为我们解决了杀会话问题。
pt-kill是用来kill MySQL连接的一个工具,在MySQL中因为空闲连接较多导致超过大连接数,或某个有问题的sql导致mysql负载很高时,需要将其KILL掉来保证服务器正常运行。
pt-kill杀死MySQL连接。如果没有给出文件,pt-kill连接到MySQL然后从“ SHOW PROCE
sslIST ”命令输出中获取查询。否则,就从包含有“ SHOW PROCE
sslIST ”输出的一个或者多个文件中读取查询。如果文件是“ - ”,pt-kill从STDIN读取输入。
分享mysql数据库一款杀会话利器--pt-kill
1、按照用户杀会话
分享mysql数据库一款杀会话利器--pt-kill
分享mysql数据库一款杀会话利器--pt-kill
3、按照command匹配杀会话
注:测试通过按command来杀掉线程,注意command的内容一定要严格匹配大小写,否则会杀不掉。 注意--match-command多个command之间用 | 分隔,否则会失效。
Query,Sleep,Binlog Dump,Connect,Delayed insert,Execute,Fetch,Init DB,Kill,Prepare,Proce
sslist,Quit,Reset stmt,Table Dump
4、按state杀会话
注:测试通过按state 来杀掉线程,注意state 的内容一定要严格匹配大小写,否则会杀不掉。注意--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)
5、查杀大于30s的会话
6、按info关键字 kill
注:测试通过按info来杀掉线程,注意info的内容一定要严格匹配大小写,否则会杀不掉。注意--match-info多个info之间用 | 分隔,否则会失效。
--ignore-info / --match-info
(info可以使用select、update、insert、delete来进行匹配,并可使用"|"进行多项匹配,如"select|SELECT|delete|DELETE|update|UPDATE")
1、拼sql
分享mysql数据库一款杀会话利器--pt-kill
2、mysqladmin工具
分享mysql数据库一款杀会话利器--pt-kill
3、循环kill
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
分享mysql数据库一款杀会话利器--pt-kill
当前文章:分享mysql数据库一款杀会话利器--pt-kill
分享网址:/news8/101258.html
成都网站建设公司_创新互联,为您提供外贸建站、动态网站、域名注册、关键词优化、标签优化、微信公众号
广告
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源:
创新互联