Heim  >  Artikel  >  Datenbank  >  MySQL数据库CPU飙升紧急处理方法

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

WBOY
WBOYOriginal
2016-06-07 17:36:511144Durchsuche

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一定不能让开发随意上线的!


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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn