備份後,對資料庫的穩定性檢查

haoge0205發表於2015-11-11
之前,因為一條有問題的SQL語句,導致堵塞訂單表,使全網無法下單。

因此在有活動的時候,重新梳理檢查,確保資料庫沒有問題。

問題:
一條有問題的select語句執行了10幾個小時,凌晨4點資料庫透過innobackupex開始備份,開始備份innodb表,不會產生鎖和堵塞,不會有問題,但是開始備份Myisam表的時候,會鎖全表,而select是open table的操作,導致堵塞hang住!

因此在有活動的時候,凌晨4點備份結束以後,在凌晨4:30,檢查下有沒有執行過程的SQL語句,確保下資料庫。 

安裝percona-toolkit工具就不描述了。

匯出MySQL的show processlist :

[root@yoon export]# mysql  -uroot   -p -e  "show proceseslist"  >  yoon.sql

用percona-toolkit工具分析yoon.sql
[root@yoon export]# pt-kill   --test-matching   yoon.sql   --busy-time  60  --print

也可以使用如下命令:(我更喜歡用上面的命令,我喜歡繁瑣,哈哈哈)
[root@yoon export]# pt-kill --busy-time 60 --print  --user=root --password

檢查主要的幾個資料庫,預防下。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-1828108/,如需轉載,請註明出處,否則將追究法律責任。

相關文章