MySql数据库通过idb和frm恢复

首先先简单介绍下.frm和.idb文件

.frm : 描述表结构文件,字段长度等

.idb :存储数据信息和索引信息

  恢复user表

1、先建立和之前user表一样的表结构。就是执行create table user .... ,执行完,数据库目录下就会建立user.ibd文件(当然还有其他的)

 2、执行 alter table `user` discard tablespace ; 执行完之后,数据库目录下的user.ibd文件就没了 

 3、把你备份的ibd放到消失的user.ibd文件那里。 

 4、给这个文件加权限,所有者mysql ,权限660(你可以参考别的ibd文件所有者和权限设置) (这一步我直接略过,没管,其它4步是必不可少的)

 5、执行 alter table `user` import tablespace; 执行完,表数据就可读了,这时候会丢失一些诸如表行记录数等存在系统表里的信息,不过那些信息无所谓。表其实这时候已经可以正常用了。如果不放心,可以导出sql语句或txt,再创建表导入。

此方法不同于mysql的文件导入与导出

该文章源自  https://blog.csdn.net/zhouhaisunny/article/details/77489237

posted @ 2020-10-13 13:49  文泰来  阅读(816)  评论(0)    收藏  举报