MySQL表結構為InnoDB類型從ibd檔案恢複資料

來源:互聯網
上載者:User

標籤:

客戶的機器系統異常關機,重啟後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.