標籤:
作業系統檔案限制大小導致 MYSQL ERROR 1194 (HY000): Table is marked as crashed and should be repaired 問題處理
同事反饋應用在執行查詢某張表時候報ERROR 1194 (HY000): Table is marked as crashed and should be repaired 錯誤
mysql> select * from ims_stat_msg_history where module=‘basic‘ and message=‘0‘ and createtime>=UNIX_TIMESTAMP(‘2015-03-04‘) LIMIT 0, 10;ERROR 1194 (HY000): Table ‘ims_stat_msg_history‘ is marked as crashed and should be repaired
通過網路搜尋得出的大概問題原因為索引頁損壞或表出現錯誤,網路上提供2種解決方案
通過使用上面兩種解決方案,此問題依然存在,通過核查表發現表大小剛好為2G(1073741312/1024/1024)*2
-rw-rw---- 1 mysql mysql 1073741312 Mar 04 17:59 ims_stat_msg_history.MYD-rw-rw---- 1 mysql mysql 321451008 Mar 04 18:22 ims_stat_msg_history.MYI-rw-rw---- 1 mysql mysql 8937 Mar 28 2014 ims_stat_msg_history.frm
隨著這條線索核查作業系統的limit (/etc/security/limits) 發現default有設定fssize 為2097151 和檔案已經達到的大小2G剛好一致,這裡我將此參數改為-1 ,然後重新切換一下使用者環境後重啟mysql
重啟mysql後,再次執行repair table ims_stat_msg_history進行修複,經過修複後測試,表恢複正常!
總結:
對於網路上提供的解決方案,在不十分清楚的情況下,需要反覆確認操作,最好進行先備份
對於使用了修複方案還是存在問題,需要多擴充思路和方向進行解決
MYSQL ERROR 1194 (HY000)