服务器数据恢复—云服务器mysql数据库表被truncate的数据恢复案例

云服务器数据恢复环境:

阿里云ECS网站服务器,linux操作系统+mysql数据库。

云服务器故障:

在执行数据库版本更新测试时,在生产库误执行了本来应该在测试库执行的sql脚本,导致生产库部分表被truncate,还有部分表内的少量数据被delete。该实例内数据表均采用innodb作为默认存储引擎。

云服务器数据恢复过程:

1、由于用户ECS内还有其他业务在运行,为避免被truncate表的底层数据被破坏,首先将mysql数据库的data目录所在分区备份。

2、需要恢复的十多个表内不存在大字段类型值和myisam引擎表,直接扫描数据段并下载恢复所必需的数据库段碎片。由于innodb引擎表恢复数据须依赖表结构信息,mysql的表结构信息存储于对应表名的.frm文件内。经过检测发现.frm文件完好,可直接使用。下载需要恢复的表所对应的.frm文件。

3、读取&分析数据段内系统表信息,获取需要恢复的十多个表在系统表内的注册信息。

4、在下载完成的数据段文件内提取对应于各表的数据页,解析对应表的.frm文件获取该表的表结构信息。通过表结构信息获取到底层数据分配规则,北亚企安数据恢复工程师按照规则拆分数据段内二进制数据并将不同类型数据进行字符展示转换(各类整型、浮点型、时间型等),完成数据段到sql语句的转换。

5、恢复被delete数据的表的流程类似恢复被truncate表的流程,差异在于解析数据时需要提取被标注为"delete"的记录。

6、根据解析出的表结构信息在恢复环境中的mysql实例内创建表,将恢复出的数据导入。

7、由于直接从底层抓取出的记录可能存在主键不唯一(引擎在存储时产生的临时记录)、记录重复(缓冲段)和乱码(扫描数据段时出现特征值匹配成功但不属于该表的数据段)等情况,北亚企安数据恢复工程师人工处理提取记录存在的异常。

8、由用户方远程桌面的方式验证恢复数据的正确性和完整性。经过用户方工程师的多方验证,确认被truncate的表和被delete记录的表的数据恢复完整,数据正确有效。本次数据恢复工作完成。

相关推荐
北亚数据恢复4 天前
服务器数据恢复—存储卷映射异常无法挂载,一站式数据恢复成功复原服务器关键数据
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
北亚数据恢复6 天前
服务器数据恢复—EqualLogic存储多块硬盘离线导致存储崩溃的数据恢复案例
数据恢复·服务器数据恢复·北亚数据恢复
北亚数据恢复12 天前
【服务器数据恢复】EVA存储硬盘离线,LUN“失踪”,数据如何恢复?
数据恢复·服务器数据恢复·北亚数据恢复·存储数据恢复
北亚数据恢复13 天前
【服务器数据恢复】服务器泡水硬盘掉线,数据如何“起死回生”?
数据恢复·服务器数据恢复·北亚数据恢复
北亚数据恢复18 天前
服务器数据恢复—服务器常见故障解析,数据恢复常规流程完整曝光
数据恢复·服务器数据恢复·北亚数据恢复·raid数据恢复
北亚数据恢复20 天前
服务器数据恢复—RAID6阵列多盘离线崩溃,专业级数据恢复全过程解析
数据恢复·服务器数据恢复·北亚数据恢复·raid6数据恢复
北亚数据恢复1 个月前
服务器数据恢复—mdisk热备盘同步失败的数据恢复流程
数据恢复·服务器数据恢复·北亚数据恢复·存储数据恢复
CHS_Lab1 个月前
理想(Li)行车记录仪视频批量删除后的恢复方法
数据恢复·行车记录仪恢复·视频恢复·行车记录仪·理想汽车·理想行车记录仪
北亚数据恢复1 个月前
VSAN分布式存储下非正常关机导致的虚拟机磁盘丢失如何恢复数据?
分布式·数据恢复·服务器数据恢复·北亚数据恢复·vsan数据恢复
北亚数据恢复1 个月前
服务器数据恢复—供电不稳引发的服务器EXT4分区无法挂载问题如何解决?
数据恢复·服务器数据恢复·北亚数据恢复·linux数据恢复