首页 > 数据库    日期:2024-03-30 / 浏览

注意:mysql8以上只有ibd文件,没有frm文件

1.新建一个与原表结构相同的表,如果不记得的话,也可通过ibd文件查询表结构,方法如下:

        先进入存放ibd文件的位置,在当前目录打开cmd

MYSQL8 通过ibd文件恢复表数据的方法

        输入指令ibd2sdi --dump-file name.txt name.ibd

MYSQL8 通过ibd文件恢复表数据的方法

查看解析后的txt文件,可以看到8.0版本的mysql把表结构、索引全部都放到了表数据文件ibd文件中了(然后你就可以在数据库中创建结构相同的表了)

 2.移除表空间

alter table table_name DISCARD TABLESPACE

 3.关闭mysql服务,将备份的ibd文件,放到mysql->data->创建的数据库名称->,将ibd拷贝到此目录下,可通过以下方式查询

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

 4.重新导入表空间

alter table table_name IMPORT TABLESPACE

 5.注意点:

        数据表的结构一定要和恢复前的数据表结构一致

        原ibd文件时的数据库版本要和当前数据库版本一致(如8.0.11和8.0.23版本不同会导致复原失败)

觉得上面的内容有用吗?快来点个赞吧!

点赞() 我要打赏

温馨提示 : 本站内容来自会员投稿以及互联网,所有源码及教程均为作者总结编辑,请大家在使用过程中提前做好备份,以免发生无法预知的错误,源码类教程请勿直接用于生产环境!

 可能感兴趣的文章