[MySQL] Table dbname/tablename is marked as crashed and should be repaired when using LOCK TABLES

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


當遇到 Table './dbname/tablename' is marked as crashed and should be repaired when using LOCK TABLES

原因:

資料表的相關檔案由於不明原因發生損壞,而無法正常存取。

解決方案:

可以使用以下兩種方式嘗試修復資料表:

使用SQL語句
REPAIR TABLE tablename

使用myisamchk

使用命令列進入資料表所在目錄,例如
cd /var/lib/mysql/dbname

執行
myisamchk -r tablename
執行過程中可能會遇到以下錯誤
myisamchk: error: myisam_sort_buffer_size is too small

這是修復過程中所需記憶體空間超過預設的空間,可以利用--sort_buffer_size參數指派更大的記憶體,例如:
myisamchk -r tablename --sort_buffer_size=2G

留言

這個網誌中的熱門文章

[MySQL] schema 與資料類型優化

[翻譯] 介紹現代網路負載平衡與代理伺服器