Mysql ibd文件恢復指南

背景

  mysql在使用的過程當中,不免遇到數據庫表誤操做,基於此,做者親力親爲,對mysql數據表ibd文件的恢復作如下詳細的說明,對開發或者初級dba提供必定的指導做用,博客中如若存在相關問題,請指明,相互學習,共同進步。mysql

恢復說明

  1.   建立數據庫(隨意建立),create database yygk
  2.       建立數據表
         
         備註:row_format要和ibd文件的row_format一致,不然,會提示二者不一致。 當前row_format=dynamic
  3.       表的屬性查看
          咱們使用:show table status like 't_dict'\G,查看錶的屬性,截圖以下。
         
          備註:細心的咱們發現,建立表時候的row_format和表屬性的不一致,基於innodb是,要把row_format設置成dynamic時,須要修改mysql的全局配置,直接在myql命令中修改:set global innodb_file_format=Barracuda;
  4.     表錯誤信息查看
       
       從錯誤日誌中咱們發現:row_format設置失敗了,按照第3表中的說明,在myql命令中修改:set global innodb_file_format=Barracuda;而後從新建立表。
  5.   說明
       咱們在恢復表的時候,要保證row_format和ibd文件的一致,若是ibd文件是compact的話,須要建表的時候,設置成row_format=compact,在恢復的時候,自行解決,從第6步開始,重點說明如何去恢復。
  6.   恢復第一步:移除表空間
      alter table t_dict DISCARD TABLESPACE;
  7.   恢復第二步:將備份的ibd文件,放到mysql->data->建立的數據庫名稱->,將ibd拷貝到此目錄下,以下圖所示
     
  8. 恢復第三步:從新導入表空間
      alter table t_dict IMPORT TABLESPACE;
  9. 後記
      當執行到上一步完成後,咱們發現數據庫中的數據已經徹底恢復過來了。贊。贊。贊  從此我對mysql進行下深刻的學習,掌握dba的技能,應用於項目開發。完結!!!!
  10. 大注意
    數據表的結構必定要和恢復前的數據表結構一致,不然恢復失敗,致使mysql進程重啓,詳細狀況須要查看mysql的error日誌進行分析,另外,mysql的CE工具提供了便捷的mysql參數配置修改功能
相關文章
相關標籤/搜索