【数据库数据恢复】华为云mysql数据库数据被delete的数据恢复案例

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

数据库数据恢复环境
华为云ECSlinux操作系统
mysql数据库实例内数据表默认存储引擎为innodb。

数据库故障
在执行数据库版本更新测试时用户误将本应在测试库测试的sql脚本执行在生产库中导致部分表被truncate部分表内少量数据被delete。

数据库恢复过程

1、由于该ECS内有其他业务在正常运行中为避免被truncate表的底层数据不被破坏首先镜像备份mysql数据库data目录所在分区。

 

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

 

3、读取数据段内系统表信息获取需要恢复的表在系统表内的注册信息。

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

5、恢复被delete数据的表过程和恢复truncate表的类似不同点在于解析数据时需要提取被标注为“delete”的记录。

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

 

 

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

8、开启远程桌面由用户验证数据的准确性和完整度。经过反复验证truncate表和delete记录的表都完整恢复。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: mysql数据库

“【数据库数据恢复】华为云mysql数据库数据被delete的数据恢复案例” 的相关文章