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参数配置修改功能
相关文章
相关标签/搜索