對MyIsam存儲引擎表損壞的處理

原文章出自:http://www.blogjava.net/dongbule/archive/2010/10/10/334174.html

如果你的MyIsam表存在大量高併發的讀寫,那麼就可能出現壞表的現象,這是因爲MyIsam存儲引擎所決定的,一張損壞的表的症狀可能是以前某些錯誤

 

*.frm 被鎖定不能更改
找不到
*.MYI
文件意外結束
記錄文件損壞


處理1
使用MySQL自帶的myisamchk的工具進行修復,myisamchk不僅可以檢查和修復MyIsam表,還可以進行優化和分析表,實際上,它集成了mysql中的check,repair,analyze,optimize的功能,下面是用myisamchk進行修復

 

myisamchk -r tablename


其中-r參數的含義是recover,在以往的應用,這語句幾乎可以解決上面所述碰到的問題,如果還不行,可以使用

 

myisamchk -o tablename


其中-o參數的含義是--safe-recover,可以進行更安全的修復

處理2
使用MySql的CHECK TABLE和REPAIR TABLE命令來進行修復,CHECK TABLE檢查表是否損壞,REPAIR TABLE用來對錶壞進行修復

 

CHECK TABLE tablename [option]

REPAIR
[option] tablename


具體的參數可以參看MySQL的幫助文檔
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章