.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的语句
这个地方坑很大,不知道是自己手贱还是不得精妙,老是说语法错误,多试了几次,才对,只要对了,数据就恢复了