程序猿~

.frm和.ibd恢复数据

2019-03-13  本文已影响0人  红笔黑字

2019年3月13日

今晚实践了一次数据恢复......
作为一个前端,过程痛苦。虽然,以前摸过python,但早就忘得稀巴烂。
好了,详细说一下数据的状况以及如何恢复的:
mysql数据,只剩下.frm和.ibd文件了
首先自然是百度,各种教程,但是其实能直接用的不多(因为,大部分是针对了自己情况,其实多百度下就好了)。
我先安装了MySQL Utilities 1.6查看得数据结构,里面有乱字符串,那部分是注释,直接删除。
然后主要参照下面两个教程。
https://www.jianshu.com/p/41657753085a
http://www.it610.com/article/5625432.htm
先通篇过一遍,再试。
下面是我个人今晚的流程:
1.查看表结构

安装mysql-utilities,获取到mysqlfrm,然后输入:mysqlfrm --diagnostic /data/sakila/actor.frm
查看时,会有乱码汉字,是注释,连同comment删掉即可。

mysql-utilities下载地址: https://downloads.mysql.com/archives/utilities/

2.创建表结构

我的表结构创建一开始顺利...创建完后,断服务器,替换入原来的.frm文件

3.删除ibd,放入新ibd

// 下面指令,user即user.idd的名字
alter table user discard tablespace
上面删,然后放入旧数据,再输入下面语句
alter table user import tablespace

这个时候我报错了...查询了下,需要添加row_format=compact

4.重来,第二步创建时添加row_format的语句

这个地方坑很大,不知道是自己手贱还是不得精妙,老是说语法错误,多试了几次,才对,只要对了,数据就恢复了

上一篇下一篇

猜你喜欢

热点阅读