在windows系統中有時會碰到mysql中Incorrect key file for table: Try to repair it提示,導致mysql 表毀壞的常見原因:
1、服務器突然斷電導致數據文件損壞.
2、強制關機,沒有先關閉mysql 服務等.
損壞的癥狀
一個損壞的表的典型癥狀如下:
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中找到出現問題的表的數據庫,然后進入找到出問題的表,再點擊下面的修復表即可快速實現解決這個問題.
新聞熱點
疑難解答