环境:
windows2008 r2;
mysql5.6单实例,引擎类型为innodb,表内数据存储所应用表空间类型为独立表空间;
未进行数据库备份,未开启binlog。

故障:
因为人为误操作应用Delete命令删除数据时未增加where子句进行筛选,导致全表数据被删除,删除后未对该表进行任何操作。

本案例MySQL数据库数据恢复剖析:
1、故障类型:因为未对生产环境进行备份也未开启binlog日志,无奈间接还原数据库,属于典型的表内mysql delete数据误删除。
2、故障剖析与可行性计划制订:对于mysql innodb误删除导致记录失落的复原计划有三种:备份还原、binlog还原和记录深度解析。对于本案例前两种计划不实用,只能应用记录深度解析的形式进行复原。此复原计划的原理为模仿innodb引擎记录治理形式,依据表构造信息将二进制文件解析为字符记录。

本案例MySQL数据库数据恢复过程:
1、获取数据文件:管理员将表构造文件及表数据文件(.ibd)发送给北亚数据恢复工程师。
2、应用北亚数据恢复核心自研的数据恢复工具进行复原:

在本案例中数据库管理员提供了表构造脚本,能够应用本工具中的5+3性能进行复原。
首先读取表构造信息:

开始解析记录:

本工具默认将记录提取为SQL备份格局,期待解析结束后还原到数据库查看后果(为保障客户隐衷要害信息已打码):

验收数据:
随机筛选表内数据交由管理员验证,并统计复原记录总数。通过验证后数据正确,总数合乎原表内记录条数。