Mysql如何通过ibd文件恢复数据

本文详细描述了如何在MySQL中恢复使用InnoDB引擎的Mysqlibd文件,包括创建新表匹配结构、移除表空间、文件复制和重新导入,以及处理权限问题和可能遇到的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mysql ibd文件恢复注意问题

  1. 创建数据库(随意创建)
  2. 创建数据表(备注:表结构要和要恢复的表结构一致,row_format要和ibd文件的row_format一致,否则,会提示两者不一致。 当前row_format=dynamic)

备注:创建表时候的row_format和表属性的不一致,基于innodb是,要把row_format设置成dynamic时,需要修改mysql的全局配置,直接在myql命令中修改:set global innodb_file_format=Barracuda;

开始恢复

1、恢复第一步: 在新库创建表

可以在之前库里执行 语句查看之前表结构。 
show create table 表名字;

注意表结构和之前表结构一样。

2、恢复第二步:移除表空间

alter table 表名字 DISCARD TABLESPACE;

3、恢复第三步:拷贝ibd文件至目标位置

-- 使用sql查询数据目录
show global variables like '%datadir%';

将备份的ibd文件,放到mysql->data->创建的数据库名称->,将ibd拷贝到此目录下。

4、恢复第四步:重新导入表空间

alter table  表名字  IMPORT TABLESPACE;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值