mysql 数据恢复原理_Mysql数据库误删除所有数据的恢复数据过程

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:41   2540   0

数据库环境部署与故障原因:

本次恢复的数据库安装在客户本地服务器上,服务器操作系统为windows2008 r2 。在当前环境内安装有mysql5.6单实例,引擎类型为innodb,表内数据存储所使用表空间类型为独立表空间。未进行数据库备份,未开启binlog。

导致数据丢失的原因是由于人为误操作使用Delete命令进行删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作,需要从数据库层面进行误删除的数据恢复操作。

数据恢复方案制定:

1、故障类型分类:在本案例中,由于未对生产环境进行备份也未开启binlog日志,无法直接还原数据库,属于典型表内mysql-delete数据误删除。

2、故障分析与可行性方案制定:通常情况下对于mysql innodb误删除导致记录丢失的恢复方案有三种,分别是备份还原、binlog还原和记录深度解析。由于本案例中的数据库没有备份,也没有开启binlog,也就是说前两种方案都不适用,只能使用记录深度解析的方式进行恢复。此恢复方案恢复原理为模拟innodb引擎记录管理方式,根据表结构信息将二进制文件解析为字符记录。

数据恢复流程:

1、获取数据文件:客户将表结构文件及表数据文件(.ibd)通过网络传输的方式发送到数据恢复中心,数据恢复工程师将文件下载后开始对数据进行分析和恢复。

2、使用数据库数据恢复工具进行扫描:

91058680c90db6ea513d8dd99c49c8c1.png

a6ecd9b0ab56243eb97fa90e02051278.png

在本次数据恢复案例中,客户提供了数据库表结构脚本,可以使用本工具中的5+3功能进行恢复。

首先读取表结构信息:

0697d25677de938539f1204b64385c2c.png

73d2e37e413e880d52ca176049adb3c9.png

开始解析记录:

dcf79d9700d9277c22371ab4052c6920.png

本工具默认将记录提取为SQL备份格式,等待解析完毕后还原到数据库查看结果(为保障客户隐私关键信息已打码):

817727e8d99bead6dd79b73009d261af.png

客户验收数据:

数据提取完成后,通知客户对提取结果进行验证,并统计恢复记录总数。客户验证后表示最终数据恢复结果完整,总数符合原表内记录条数,本次数据恢复成功。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP