MySQL 解決資料表損壞 【 Table ‘./DatabaseName/Table’ is marked as crashed and should be repaired】

2014-08-07 MySQL

今天在 wordpress 站台經過多次不正常關機後在啟動 apache 後,站台出現 HTTP 500,顯示的訊息為「建立資料庫連線時發生錯誤」

 

既然跟資料庫有關係就先從資料庫來查起

 

1. 檢查 AP 與 DB 間的連線正常

2. 帳號密碼 Login 正確

3. MySQL 3306 是否 Listen

 

檢查上述 3項都是OK的,連線的環境應是沒有問題!

 

 

再來進到資料庫檢查是否被塞髒資料或是哪裡有問題

 

 

##檢查 Table 是否有異常

 

#檢查 Table 資料

 

在檢查 Table 這項 Mysql 告知此資料表已損壞

 

可以使用以下 sql 進行修復

再次 select 即可正常

 

 

 

myisamchk

網路上也有人使用 myisamchk 來進行修復

 

若是修復過程中因執行記憶體超過 Default 值就必須使用 –sort_buffer_size 來指派記憶體

 

 

 

 

 

※資料表損壞的狀況使用 mysqldump 也會有相同的錯誤訊息

 

 

參考資料

http://emn178.pixnet.net/blog/post/95064604-%E8%A7%A3%E6%B1%BAtable-‘.-dbname-tablename’-is-marked-as-crashed-and-sh

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

彙整

分類

open all | close all

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱