如何通过ibd和frm文件恢复MySQL数据表

确保有备份文件

在开始之前,请确保有 frm 文件(包含表结构)和 ibd 文件(包含表数据)的备份。

创建数据库和表

在 MySQL 中创建一个新的数据库,然后在该数据库中创建与备份文件结构相同的表。
可以通过使用 mysqlfrm 工具从 frm 文件中提取创建表的 SQL 语句来完成,或者如果有表的原始创建语句,也可以直接使用。

解除表空间绑定

在新创建的表上执行 ALTER TABLE <表名> DISCARD TABLESPACE; 命令,这将删除新创建的空 ibd 文件。

复制 ibd 文件

将备份的 ibd 文件复制到新数据库的相应目录下。确保文件权限正确,通常需要将文件的所有权更改为 MySQL 用户。

绑定表空间

执行 ALTER TABLE <表名> IMPORT TABLESPACE; 命令,这将告诉 MySQL 使用复制的 ibd 文件而不是原来的文件。

文章作者: 若海; 原文链接: https://www.rehiy.com/post/582/; 转载需声明来自技术写真 - 若海

添加新评论