萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql中Incorrect key file for table: Try to repair it

mysql中Incorrect key file for table: Try to repair it

在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中找到出現問題的表的數據庫,然後進入找到出問題的表,再點擊下面的修復表即可快速實現解決這個問題。

copyright © 萬盛學電腦網 all rights reserved