MySQL数据库CPU飙升紧急处理方法
时间:2014-08-01 11:01 来源:linux.it.net.cn 作者:it
运行平稳的数据库,如果遇到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全部杀死,并打印出来。
模拟测试
这样就给杀死了,然后查看LOG。
会把杀死的SQL记录下来,然后再跟开发慢慢排查,有问题的SQL一定不能让开发随意上线的!
(责任编辑:IT)
运行平稳的数据库,如果遇到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全部杀死,并打印出来。 模拟测试
这样就给杀死了,然后查看LOG。
会把杀死的SQL记录下来,然后再跟开发慢慢排查,有问题的SQL一定不能让开发随意上线的! |