• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

韩工

  • 博客园
  • 管理

公告

View Post

通过.ibd文件恢复MySQL数据库

先介绍一下Innodb与MyISAM存储文件的区别,MyISAM存储文件可以直接复制到MySQL数据目录进行读写,Innodb则需要导入表空间并确保表属性的一致性。

Innodb存储文件分为:.frm,.idb
.frm:存储表定义
.ibd:存储数据和索引
MyISAM存储文件分为:.frm,.myd,.myi
.frm:存储表定义
.myd:存储数据
.myi:存储索引

数据恢复操作步骤

 

1、创建数据库

 

2、历史表属性查看

show table status like '表名'\G;查看表的属性

3、创建表

建议根据备份的sql文件进行导入,注意表结构要和要恢复的表结构一致,row_format要和ibd文件的row_format一致,否则,会提示两者不一致并无法导入数据。 row_format=dynamic或compact

4、恢复第一步:移除表空间

mysql> alter table x3third_lj_acd discard tablespace;
Query OK, 0 rows affected (0.06 sec)

5、恢复第二步:将备份的ibd文件,复制到mysql的数据目录

可通过命令查询数据目录位置: show global variables like '%datadir%';

6、恢复第三步:重新导入表空间

mysql> alter table x3third_lj_acd import tablespace;
Query OK, 0 rows affected, 1 warning (3 min 30.56 sec)

 注意观察日志文件提示

执行完如上步骤后, 日志提示同步数据到硬盘完毕,现在可尝试读取数据。

 

 

 

 

征途漫漫,惟有奋斗!

posted on 2023-08-08 17:26  韩工-Hill  阅读(301)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3