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全部殺死,並打印出來。

模擬測試

wKiom1LfbuOBq_RIAAFxqM69md4249.jpg

這樣就給殺死了,然后查看LOG。

wKiom1Lfbw6jnhQVAAFg61aU5s4306.jpg

會把殺死的SQL記錄下來,然后再跟開發慢慢排查,有問題的SQL一定不能讓開發隨意上線的!

 

本文出自 “賀春暘的技術專欄” 博客,請務必保留此出處http://hcymysql.blog.51cto.com/5223301/1353820


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM