MySQL錯誤Incorrect file format解決方案
以下的文章主要介紹的是MySQL錯誤,即,Incorrect file format/數(shù)據(jù)表“使用中”的解決方案,以下就是文章對其具體內(nèi)容的主要描述,希望會給你帶來一些幫助在此方面。愿在你以后的學習中以起到拋磚引玉的作用。
硬盤出錯,windows開機自動執(zhí)行磁盤查檢。開始工作時,web程序運行異常,有這樣的信息:
130: Incorrect file format xx_messages’
看來是MySQL表損壞了,到phpmyadmin里,這個表顯示狀態(tài)為“使用中”,工具欄里的“操作”里,找“修復表”,但奇怪的是沒有這一項,只有“強制更新表 (“FLUSH”) ”(看來問題還是比較嚴重的),點了照例提示MySQL錯誤: Incorrect file format ‘xx_messages’
google一下,有不少人也遇到這樣問題,解決方法當然都是說修復表之類的,那直接運行SQL命令。在phpmyadmin里運行:
- check table xx_messages;
- analyze table xx_messages;
- repair table xx_messages;
結(jié)果還是沒用,照例“ Incorrect file format ‘xx_messages’”
看來網(wǎng)上的說法不見得能解決我的問題,求人不如求已,自己解決。
到mysql數(shù)據(jù)庫目錄時,看看文件是不是正常,要不然就把以前備份的導進去。
該表相關(guān)的三個文件,xx_messages.MYI 的文件大小是0,看來是索引壞了,從以前的備份文件里,直接拷出來,替換這個0大小文件(其它兩個文件沒有替換),phpmyadmin提示MySQL錯誤
- #1194 – Table ‘bne9pb_messages’ is marked as crashed and should be repaired
肯定是索引問題,昨天對表結(jié)構(gòu)做過修改,用老的索引文件,肯定不對的,那就修復表:
- repair table bne9pb_messages;
問題解決。不過所有數(shù)據(jù)都沒有了,成了空表,這無所謂,反正是本地開發(fā)用的;如果是服務器上的表的話,一定要事先備份的,不然真的欲哭無淚的。
這次只是索引文件壞了,如果數(shù)據(jù)文件都壞了,那就只能根據(jù)舊數(shù)據(jù)備份重新改動了。
僅僅索引壞掉,其實運行
- REPAIR TABLE xx_messages USE_FRM;
應該就可以解決了;這樣應該還可以保留原有數(shù)據(jù)不丟失,不過沒有試,這次沒做壞文件備份,沒法再搗騰搗騰。
以上的相關(guān)內(nèi)容就是對MySQL錯誤:Incorrect file format/數(shù)據(jù)表“使用中”解決手記的介紹,望你能有所收獲。
【編輯推薦】
- IP配置MySQL與卸載MySQL實操
- MySQL 修改密碼的6個好用方案
- MySQL數(shù)據(jù)庫訪問妙招在Linux之下
- 從MySQL數(shù)據(jù)庫表中來檢索數(shù)據(jù)并不難
- MySQL數(shù)據(jù)庫訪問妙招在Linux之下