MySql数据库通过idb和frm恢复

 简单粗暴

  恢复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,再创建表导入。

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

感谢分享技术知识的大佬,让技术流行起来。

猜你喜欢

转载自www.cnblogs.com/qinshuipo/p/10431575.html