****欧欧美毛片4,国产午夜精品视频,97视频在线观看免费视频,久久七国产精品

數據恢復咨詢熱線:400-666-3702??

歡迎訪問南京兆柏數據恢復公司,專業數據恢復15年

兆柏數據恢復公司

?常見問題

?當前位置: 主頁 > 常見問題

2022年,致第一個感動,服務器數據庫報錯表丟失問題解決

瀏覽量: 次 發布日期:2023-09-11 09:18:02

2022年,致第一個感動,服務器數據庫報錯表丟失問題解決

  去年2021年12月30日中午,我們公司的網站,業務系統突然都無法運轉,最終發現我們阿里云服務器自建mysql數據庫出問題。

  我們服務器數據庫的多數業務數據庫的表都報錯同樣問題, Table '****' doesn't exist ,趕緊用shell方式先把一個著急的客戶需求做好后,便開始兩天兩夜的尋求解決問題之道,搜索了好多各種問題,最終感覺原因貌似ibdata*文件壞的可能性大。因為我們用的INNODB engine引擎, 每個表的后臺數據文件 *.frm 和 *.ibd都在,所以開始網上的各種方案的嘗試數據恢復,1月1日晚曾經晚上熬夜到凌晨4點 :-(

  中間還曾到某寶找專業數據恢復的技術人員,遠程登陸查看問題和報價,一個靠譜的店家報價:最壞的情況是 一個table表的數據恢復的價格是2000,我們大概一個庫的表數量是40多個,這費用逆天了。若真花錢買這服務,感覺也是對我一個程序員大叔的恥辱。請原諒我把窮逼解釋得如此清新脫俗。

  沒辦法繼續找方案,查mysql的官網的各種資料。功夫不負有心人。剛剛 1月3日凌晨3點,搞定了。哈哈哈哈。

  恢復成功的表數據

  解決方案如下,希望能幫到同樣問題的網友

上海數據恢復

  1、安裝相同版本的mysql;

  2、找回表結構(若有表結構,直接導入表即可)建立同名的表(InnoDB),隨意一個字段即可

  關閉mysql服務,用需要恢復的.frm文件覆蓋新生成的.frm文件。接著修改my.ini配置innodb_force_recovery = 6進入恢復模式。啟動mysql。

  啟動mysql,desc actcalss。我這里直接出現了表結構。若沒有,查詢日志,會提示該表列數。注釋innodb_force_recovery = 6,建立相同列數的表。重復以上步驟,會得到表結構。導出結構,刪除表,導入表結構。

  3、.ibd文件包含tablespace id,所以需要修改恢復數據.ibd文件的tablespace id和新建立的相同??墒褂?a href="http://m.miyue8.com/tags/259.html" >winhex(編輯16進制)。打開新建的.ibd文件,得到tablespace id。

  4、打開需恢復的.ibd文件,修改為 00 03。

  5、停止mysql服務,保證innodb_force_recovery = 6。替換.ibd文件。啟動mysql。數據和結構都恢復了??梢詫С鰯祿徒Y構。

  最后,教訓和感悟

  一: 各位同行,切記做好數據庫和各種程序及源碼的安全備份。不要以為長時間沒出問題就某天不會出問題。我這個案例就是,大概五年多從沒出過這種狀況,但剛剛碰到了,雖然業務網站不是很重要,但是偶爾對我們公司業務幫助還是有的,重建的話,時間精力費用也不少。

相關推薦