MySQL数据库CPU飙升紧急处理方法

Posted d666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库CPU飙升紧急处理方法相关的知识,希望对你有一定的参考价值。

mysql数据库CPU飙升紧急处理方法

运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要把那些运行慢的SQL杀死并记录到文件里,以便后面的排查。

这里用到一个工具pt-kill,它可以帮助你。

 

1
pt-kill  --match-info "^(select|SELECT)"--busy-time 3--victim all --interval 1--kill --print --daemonize > /root/kill.txt

 

解释:只把select耗时3秒以上的SQL全部杀死,并打印出来。

模拟测试

技术分享图片

这样就给杀死了,然后查看LOG。

技术分享图片

会把杀死的SQL记录下来,然后再跟开发慢慢排查,有问题的SQL一定不能让开发随意上线的!

 

本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处http://hcymysql.blog.51cto.com/5223301/1353820







以上是关于MySQL数据库CPU飙升紧急处理方法的主要内容,如果未能解决你的问题,请参考以下文章

微服务架构下,Mysql读写分离后,数据库CPU飙升卡壳问题解析

java性能分析 - CPU飙高分析工具

Arthas - 线上突然CPU飙升怎么查

[MySQL优化案例]系列 — 典型性索引引发CPU负载飙升问题

2022年1月2日复盘 线上CPU飙升

cpu突然飙升故障排查思路