Mysql 通过 .ibd 文件恢复数据

背景描述

如果因不可控原因导致 Mysql 服务无法启动,可以通过Mysql表对应的.ibd文件恢复数据。

MySQL的数据文件包括存储表数据的“.frm”文件和存储数据的“.ibd”文件,使用“.ibd”文件恢复数据。

Mysql 通过 .ibd 文件恢复数据步骤

1. 备份原有数据库数据文件

数据文件目录位置通过 my.ini 发现,如 :

# Path to the database root
datadir=C:/ProgramData/MySQL/MySQL Server 8.0\Data

2. 重新搭建 MySQL 环境;

3 新建数据库;

4 创建一张表,表结构与原表结构一致

5 删除新建的表空间

ALTER TABLE 表名称 DISCARD TABLESPACE;

5 将待恢复的 .ibd 文件复制到目标数据库文件夹下

6 导入表空间

ALTER TABLE <表名称> IMPORT TABLESPACE;