mysql通过.ibd文件恢复数据

有一天,因为某些原因你重装了服务器的mysql,本地数据又没有备份到最新版本。
不用怕,可以到linux的/data/mysql目录下,数据文件是不会删除的。

image.png

MyISAM 存在数据库的文件默认有三个:.frm是表结构,.MYI文件是索引文件,而.MYD文件是数据文件
InnoDB 存在数据库的文件默认有两个:.frm表结构和.ibd表数据两个文件

InnoDB类型的表直接拷贝.frm和.ibd是无法恢复的

三步搞定: (aaa指你要恢复的表)

1、ALTER TABLE aaa DISCARD TABLESPACE; (会删除.ibd文件)
复制代码
2、将备份的.ibd文件复制到数据库MySQL5.7.26\data目录中该数据库表的目录下
复制代码
3、ALTER TABLE aaa IMPORT TABLESPACE;
复制代码

数据就找回来了,亲测,可用。