mysql報錯:Incorrect key file for table 'xxx'; try to repair it

多數(shù)情況下,數(shù)據(jù)庫被破壞只是指索引文件受到了破壞,真正的數(shù)據(jù)被破壞掉的情況非常少。大多數(shù)形式的數(shù)據(jù)庫破壞的的修復相當簡單,修復的方式也有三種虫几。
下面講的方法只對MyISAM格式的表有效南蹂。其他類型的損壞需要從備份中恢復施蜜。
1,REPAIR TABLE SQL statement(mysql服務必須處于運行狀態(tài))。
2,命令mysqlcheck(mysql服務可以處于運行狀態(tài))。
3,命令myisamchk(必須停掉mysql服務,或者所操作的表處于不活動狀態(tài))坑雅。
在修復表的時候,最好先作一下備份。

1>用”repair table”方式修復

語法:repair table 表名 [選項]
選項如下:
QUICK 用在數(shù)據(jù)表還沒被修改的情況下,速度最快
EXTENDED 試圖去恢復每個數(shù)據(jù)行,會產(chǎn)生一些垃圾數(shù)據(jù)行,萬般無奈的情況下用
USE_FRM 用在.MYI文件丟失或者頭部受到破壞的情況下衬横。利用.frm的定義來重建索引

多數(shù)情況下,簡單得用”repair table tablename”不加選項就可以搞定問題裹粤。但是當.MYI文件丟失或者頭部受到破壞時,這樣的方式不管用,例如:
mysql> REPAIR TABLE mytable;
+————————-+——–+———-+———————————————+
| Table | Op | Msg_type | Msg_text |
+————————-+——–+———-+———————————————+
| sports_results.mytable | repair | error | Incorrect key file for table 'info_sigleday_pvuv'; try to repair it|
+————————-+——–+———-+———————————————+
修復失敗的原因時索引文件丟失或者其頭部遭到了破壞,為了利用相關(guān)定義文件來修復,需要用USE_FRM選項。例如:
mysql> REPAIR TABLE mytable USE_FRM;
+————————-+——–+———-+————————————+
| Table | Op | Msg_type | Msg_text |
+————————-+——–+———-+————————————+
| sports_results.mytable | repair | warning | Number of rows changed from 0 to 2 |
| sports_results.mytable | repair | status | OK |
+————————-+——–+———-+————————————+
我們可以看到Msg_test表項的輸出信息”ok”,表名已經(jīng)成功修復受損表蜂林。

2>用mysql內(nèi)建命令mysqlcheck來修復
當mysql服務在運行時,也可以用mysql內(nèi)建命令mysqlcheck來修復遥诉。
語法:mysqlcheck -r 數(shù)據(jù)庫名 表名 -uuser -ppass

%mysqlcheck -r sports_results mytable -uuser -ppass
sports_results.mytable OK
利用mysqlcheck可以一次性修復多個表。只要在數(shù)據(jù)庫名后列出相應表名即可(用空格隔開)噪叙“猓或者數(shù)據(jù)庫名后不加表名,將會修復數(shù)據(jù)庫中的所有表

3>用myisamchk修復
用這種方式時,mysql服務必須停掉,或者所操作的表處于不活動狀態(tài)(選項skip-external-locking沒被使用)。記著一定要在相關(guān).MYI文件的路徑下或者自己定義其路徑构眯。
語法:myisamchk [選項] [表名]

原文:http://blog.sina.com.cn/s/blog_5f5716580100ptwm.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愕难,一起剝皮案震驚了整個濱河市早龟,隨后出現(xiàn)的幾起案子惫霸,更是在濱河造成了極大的恐慌,老刑警劉巖葱弟,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件壹店,死亡現(xiàn)場離奇詭異,居然都是意外死亡芝加,警方通過查閱死者的電腦和手機硅卢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來藏杖,“玉大人将塑,你說我怎么就攤上這事◎螋铮” “怎么了点寥?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長来吩。 經(jīng)常有香客問我敢辩,道長,這世上最難降的妖魔是什么弟疆? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任戚长,我火速辦了婚禮,結(jié)果婚禮上怠苔,老公的妹妹穿的比我還像新娘同廉。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布恤溶。 她就那樣靜靜地躺著乓诽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪咒程。 梳的紋絲不亂的頭發(fā)上鸠天,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機與錄音帐姻,去河邊找鬼稠集。 笑死,一個胖子當著我的面吹牛饥瓷,可吹牛的內(nèi)容都是我干的剥纷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呢铆,長吁一口氣:“原來是場噩夢啊……” “哼晦鞋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起棺克,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤悠垛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后娜谊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體确买,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年纱皆,在試婚紗的時候發(fā)現(xiàn)自己被綠了湾趾。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡派草,死狀恐怖搀缠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情近迁,我是刑警寧澤艺普,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站钳踊,受9級特大地震影響衷敌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拓瞪,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一缴罗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祭埂,春花似錦面氓、人聲如沸兵钮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掘譬。三九已至,卻和暖如春呻拌,著一層夾襖步出監(jiān)牢的瞬間葱轩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工藐握, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留靴拱,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓猾普,卻偏偏與公主長得像袜炕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子初家,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容