mysql5.7 InnoDB 通过frm与ibd对数据进行恢复

@fright  November 10, 2017
  1. 安装MySQL Utilities
    下载地址:https://dev.mysql.com/downloads/utilities/

下载完后直接安装即可
如果运行时需要python就下载 https://dev.mysql.com/downloads/connector/python/
本机还需要安装与需要恢复数据的一样版本的Mysql

  1. 使用mysqlfrm命令读取frm的表结构
    把需要进行数据恢复的frm文件放到一个目录里

mysqlfrm --diagnostic ./frm文件目录/
这样就可以获得数据表的结构了。

  1. 创建新的数据库
    把第二步获得的数据表结构执行,创建表。
  2. 对已创建的表进行表空间卸载
    ALTER TABLE 表名 DISCARD TABLESPACE;

每个表都进行一次空间卸载
停掉MYSQL服务

  1. 把原始数据文件里的ibd文件拷到新的数据库文件夹里
    这里要注意把拷过来的ibd文件的所有者为mysql

chwon mysql:mysql 数据库文件夹/*
启动MYSQL服务

  1. 对数据表进行空间装载
    ALTER TABLE 表名 IMPORT TABLESPACE;

每个表都进行一次空间装载


评论已关闭