損壞的症狀
一個損壞的表的典型症狀如下:
1 、當在從表中選擇數據之時,你得到如下錯誤:Incorrect key file for table: '...'. Try to repair it
2 、查詢不能在表中找到行或返回不完全的數據。
3 、Error: Table 'p' is marked as crashed and should be repaired 。
4 、打開表失敗: Can’t open file: ‘×××.MYI’ (errno: 145) 。
MySQL 表損壞的修復
MyISAM 表可以采用以下步驟進行修復 :
1、 使用 reapair table 或myisamchk 來修復。
用phpmyadmin修復表後悲具了,提示“marked as crashed and last (automatic) repair failed "。查了一相關資料後得知用myisamchk工具可以修復表。
myisamchk.exe在MySQLbin目錄下,如果該目錄下沒有請下載本文附件myisamchk.rar。
要檢查一個表的錯誤,只需要運行myisamchk(在MySQL的bin目錄下)並提供文件的位置和表名,或者是表的索引文件名:
代碼如下 復制代碼myisamchk /usr/local/mysql/var/dbName/tblName
myisamchk /usr/local/mysql/var/dbName/tblName.MYI
上面的兩個命令都可以執行對指定表的檢查。要檢查數據庫中所有的表,可以使用通配符
修復步驟:
1)修復前將mysql服務停止。
2)打開命令行方式,然後進入到mysql的/bin目錄。
3)執行myisamchk --recover 數據庫所在路徑/*.MYI。 注:提示後面不要跟隨;號
不過需要注意的是,Myisamchk工具並不是萬能的。對於一些極端性的損壞,如表格描述文件損壞,這個工具就沒有用武之地了。為此數據庫管理員還是需要最好數據庫日常的備份工作
利用phpmyadmin修改
在phpmyadmin中找到出現問題的表的數據庫,然後進入找到出問題的表,再點擊下面的修復表即可快速實現解決這個問題。