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