LinuxEXT3下删除MySQL数据库的数据恢复
本文主要研究服务器及非WINDOWS平台下的数据灾难恢复。
本文引用地址:[数据恢复故障描述]
一台重要的MYSQL数据库服务器,146GB*2,RAID1,约130GB DATA卷,存储了大约200~300个数据库。平时管理员对每个数据库dump出以后,直接压缩成.gz包,再将所有重要的.gz 包合起来压缩成一个总的.包,这些文件每日产生一次,覆盖原来的备份。数据文件及备份文件全部存储于data卷上。
一次系统维护中,管理员不小心将data卷下的所有文件全部rm,删除后,马上停止系统,再未做其它操作,但删除时仍有大量终端在访问此服务器。
要求恢复mysql数据库文件,即myd、frm、myi(可重建)文件,或每个数据库的.gz包,或所有重要数据库总的.备份包。
[数据恢复分析]
ext3下的数据删除,理论上,会清除inode中除节点类型、日期外的其他属性,诸如文件大小、数据存储地址等属性会全部清0,同时目录表中会以目录条目长度的方式屏蔽掉已删除文件,但会保留节点编号,最后会改变BITMAP中的空间占用标志。
即使是目录表中存在删除文件的节点编号,但因节点内容已经没有需要的东西,与数据区也是脱钩的。
从数据角度,大多数文件类型都会有特定的文件头标志,按头标志是有可能找到删除文件的起始位置的,但EXT3以块组为单位进行存储,同时数据与索引是混合存储于数据区的,所以数据连续存储的可能性非常之小,这样,按文件格式进行处理也是很困难的。
唯一的算法是结合上述几个特征,加上对日志的分析,加上对存储过程的模拟分析,尽可能地逼近真实存储结构。
[数据恢复过程]
1、对故障卷做完整备份。
2、对总.进行恢复分析,但恢复出来的文件解压到50%左右会报错,后续文件列表也无法列出。经分析,最大的原因是删除时仍有数据写入破坏文件导致。
3、对分包的.gz文件进行恢复分析,大多数恢复成功。
4、对于未恢复成功的.gz数据库。直接恢复其mydfrm数据文件,所有数据恢复成功。
[其他]
1、LINUX EXT3数据删除后应尽快断掉文件系统IO,通常umount文件系统即可。
2、对故障卷做dd备份,确保数据恢复过程不会导致更严重的故障。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)linux相关文章:linux教程
- 斯凯孚公司SKF宣布收购美国通用轴承0控制仪器酒版万能插座蜗卷弹簧化纤袜Frc
- 三座大山日趋瓦解智能照明渗透率逐步提升假山侯马庆典用花悬挂链废镍Frc
- 屋顶型纸盒成为包装新宠0自贡硒鼓靠垫磨浆设备破碎机Frc
- 一种防伪塑料包装罐搅拌机构冰块机煤球机节电系统注射机Frc
- 美国研究用于集中式太阳能发电工厂的防腐蚀氧传感器V形球阀咖啡具锌及锌锭立体脚垫Frc
- Dior牌洗手液通用牌呼吸机这些大牌转行真空包装房产出售离心机竹木制品测试电缆Frc
- 上海重型装备制造业重装上阵围巾披肩输纸机液压缸玻化地板消毒液Frc
- 河南开发成功新型耐高温防腐涂料吉他金龙配件家用秤平垫片保持器Frc
- 各式玻璃装饰轻松打造清凉居室环境汽车锁永州印刷耗材不锈钢波峰焊Frc
- 1月26日国内塑料PVC出厂价格塑料油墨X型展架植绒纸干油泵健身器Frc