MySQL資料庫CPU飆升緊急處理方法

來源:互聯網
上載者:User

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

類比測試

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/140207/22432564K-0.jpg" title="1.jpg" alt="wKiom1LfbuOBq_RIAAFxqM69md4249.jpg" />

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

650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/140207/2243251615-1.jpg" title="2.jpg" alt="wKiom1Lfbw6jnhQVAAFg61aU5s4306.jpg" />

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


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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.