1烹骨、公司mysql數(shù)據(jù)庫 2個翻伺,合計50G+
2、準備將其中一個移到新增數(shù)據(jù)盤中沮焕,做ln -s軟鏈接吨岭。
3、apache的服務器峦树,已經(jīng)停了辣辫。準備操作。沒曾想apache自己啟來了魁巩。大量外部數(shù)據(jù)進來急灭,造成innodb錯誤。損壞了ibdata1文件谷遂。
數(shù)據(jù)庫無法啟動了
1-----(SRVFORCEIGNORECORRUPT):忽略檢查到的corrupt頁葬馋。
2-----(SRVFORCENOBACKGROUND):阻止主線程的運行,如主線程需要執(zhí)行full purge操作肾扰,會導致crash畴嘶。
3-----(SRVFORCENOTRXUNDO):不執(zhí)行事務回滾操作。
4-----(SRVFORCENOIBUFMERGE):不執(zhí)行插入緩沖的合并操作集晚。
5-----(SRVFORCENOUNDOLOGSCAN):不查看重做日志窗悯,InnoDB存儲引擎會將未提交的事務視為已提交。
6-----(SRVFORCENOLOG_REDO):不執(zhí)行前滾的操作偷拔。
參考上面蒋院,用6啟動了。但是無法還原回去了莲绰。正常依舊無法啟動欺旧。
4、研究了三個小時后钉蒲,發(fā)現(xiàn)切端,可以更名/www/server/data下的 ibdata1 、ib_logfile0顷啼、ib_logfile1踏枣。(改名,保險钙蒙。你不改出問題茵瀑,別說我沒提醒),ibdata1 后面還有用呢躬厌。
5马昨、重啟mysql竞帽,起來了 _ 經(jīng)歷辛酸,才明白_的難得鸿捧。
6屹篓、保留,改名:新的 ibdata1_x
7、用老的ibdata1 和 innodb_force_recovery = 6 啟動mysql 這時庫是只讀的匙奴。 做備份就好了堆巧。備出來的.sql
8、回到新的ibdata1 起來泼菌,導入.sql
一切OK . 辦法可能是笨了谍肤,但是我們完成了。
另外哗伯,ln -s 軟鏈接也一并做了荒揣。
建庫 ——做 ln -s ——導庫。 ln -s 也支持導入的焊刹。 哈哈系任。省事了。