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