親測Mysql表結構為InnoDB類型從ibd檔案恢複資料

來源:互聯網
上載者:User

標籤:損壞   依據   ice   class   重裝   啟動mysql   好的   test   建立   

客戶的機器系統異常關機,重新啟動後mysql資料庫不能正常啟動,重裝系統後探索資料庫檔案損壞,悲催的是客戶資料庫沒有進行及時備份,僅僅能想辦法從資料庫檔案其中恢複,尋找資料,實驗各種方法,確認以下步驟可行:

一、找回表結構。假設表結構沒有丟失直接到下一步
      a、先建立一個資料庫。這個資料庫必須是沒有表和不論什麼操作的。


      b、建立一個表結構。和要恢複的表名是一樣的。

表裡的欄位無所謂。

一定要是innodb引擎的。CREATE TABLE `test`(  `testID` bigint(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
      c、關閉mysql, service mysqld stop。
      d、用須要恢複的frm檔案覆蓋剛建立的frm檔案;  
      e、改動my.ini 裡  innodb_force_recovery=1 , 假設不成改動為 2,3,4,5,6。


      f、 啟動mysql。service mysqld start;show create table test就行看到表結構資訊了。

二、找回資料

      a、建立一個資料庫,依據上面匯出的建立表的sql運行建立表。
      b、找到記錄點。先要把當前資料庫的資料表空間廢棄掉。使當前ibd的資料檔案和frm分離。

  ALTER TABLE test DISCARD TABLESPACE;
      c、把之前要恢複的 .ibd檔案拷貝到新的表結構目錄下。 使當前的ibd 和frm發生關係。ALTER TABLE test  IMPORT TABLESPACE;

      d、將恢複好的資料匯出即可了

親測Mysql表結構為InnoDB類型從ibd檔案恢複資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.