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