程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL錯誤Incorrect file format解決方案

MySQL錯誤Incorrect file format解決方案

編輯:MySQL綜合教程

以下的文章主要介紹的是MySQL錯誤,即,Incorrect file format/數據表“使用中”的解決方案,以下就是文章對其具體內容的主要描述,希望會給你帶來一些幫助在此方面。願在你以後的學習中以起到拋磚引玉的作用。

硬盤出錯,windows開機自動執行磁盤查檢。開始工作時,web程序運行異常,有這樣的信息:

130: Incorrect file format xx_messages’

看來是MySQL表損壞了,到phpmyadmin裡,這個表顯示狀態為“使用中”,工具欄裡的“操作”裡,找“修復表”,但奇怪的是沒有這一項,只有“強制更新表 (“FLUSH”) ”看來問題還是比較嚴重的),點了照例提示MySQL錯誤: Incorrect file format ‘xx_messages’

google一下,有不少人也遇到這樣問題,解決方法當然都是說修復表之類的,那直接運行SQL命令。在phpmyadmin裡運行:

  1. check table xx_messages;  
  2. analyze table xx_messages;  
  3. repair table xx_messages; 

結果還是沒用,照例“ Incorrect file format ‘xx_messages’”

看來網上的說法不見得能解決我的問題,求人不如求已,自己解決。

到mysql數據庫目錄時,看看文件是不是正常,要不然就把以前備份的導進去。

該表相關的三個文件,xx_messages.MYI 的文件大小是0,看來是索引壞了,從以前的備份文件裡,直接拷出來,替換這個0大小文件其它兩個文件沒有替換),phpmyadmin提示MySQL錯誤

  1. #1194 – Table ‘bne9pb_messages’ is marked as crashed and should be repaired 

肯定是索引問題,昨天對表結構做過修改,用老的索引文件,肯定不對的,那就修復表:

  1. repair table bne9pb_messages; 

問題解決。不過所有數據都沒有了,成了空表,這無所謂,反正是本地開發用的;如果是服務器上的表的話,一定要事先備份的,不然真的欲哭無淚的。

這次只是索引文件壞了,如果數據文件都壞了,那就只能根據舊數據備份重新改動了。

僅僅索引壞掉,其實運行

  1. REPAIR TABLE xx_messages USE_FRM; 

應該就可以解決了;這樣應該還可以保留原有數據不丟失,不過沒有試,這次沒做壞文件備份,沒法再搗騰搗騰。

以上的相關內容就是對MySQL錯誤:Incorrect file format/數據表“使用中”解決手記的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved