ホームページ  >  記事  >  データベース  >  MySQL数据库CPU飙升紧急处理方法

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

WBOY
WBOYオリジナル
2016-06-07 17:36:511144ブラウズ

MySQL数据库CPU飙升紧急处理方法运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要

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

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

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


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


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

模拟测试

wKiom1LfbuOBq_RIAAFxqM69md4249.jpg

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

wKiom1Lfbw6jnhQVAAFg61aU5s4306.jpg

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


本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。