前言:
我朋友有遇到關機後在開啟主機,出現多表都是使用中,無法使用的狀態,
所有無法使用的資料表都是InnoDB
有嘗試過:
使用修復表的指令
repair table table\_name
狀況還是一樣,不過目前使用者無法連線到主機,去用這個方法
各位大大是否有遇過這種情況,有什麼方式可以解決嗎??
死表畫面
使用查詢指令跳出錯誤
使用 show processlist; 的狀態
cd /var/lib/mysql/DATABASE (DATABASE是出問題的資料庫名稱) myisamchk --safe-recover TABLE (TABLE是出問題的資料表名稱)
InnoDB table 具有自我修復的功能,無法用修正 MyISAM table 的指令,像是 repair, recover 來修正問題。就算你用 check table 去檢查,可能都回應 OK,無法得知到底問題出在哪。真的遇到 InnoDB 像這樣壞到它自己修不回來,要有心理準備,裡面的資料可能會失去一部份。
請參考這篇做修復動作:
http://www.mysqlperformanceblog.com/2008/07/04/recovering-innodb-table-corruption/