服务器崩溃导致mysql数据库损坏的数据恢复过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务器崩溃导致mysql数据库损坏的数据恢复过程相关的知识,希望对你有一定的参考价值。

环境部署与故障原因:

客户本地服务器,操作系统为windows2008 r2 。在当前环境内安装有mysql5.6单实例,引擎类型为innodb,表内数据存储所使用表空间类型为独立表空间。未进行数据库备份,未开启binlog。由于人为误操作使用Delete命令进行删除数据时未添加where子句进行筛选导致全表数据被删除,删除后未对该表进行任何操作。
`

恢复方案制定:

1、故障类型分类:在本案例中,由于未对生产环境进行备份也未开启binlog日志,无法直接还原数据库,属于典型表内mysql-delete数据误删除。
2、故障分析与可行性方案制定:对于mysql innodb误删除导致记录丢失的恢复方案有三种,分别是备份还原、binlog还原和记录深度解析。对于本案例前两种方案不适用,只能使用记录深度解析的方式进行恢复。此恢复方案恢复原理为模拟innodb引擎记录管理方式,根据表结构信息将二进制文件解析为字符记录。
`

数据恢复流程:

1、获取数据文件:客户将表结构文件及表数据文件(.ibd)通过网络传输的方式发送到本公司邮箱,工程师下载文件。
2、使用恢复工具进行恢复:
技术图片
技术图片

在本案例中客户提供了表结构脚本,可以使用本工具中的5+3功能进行恢复。
首先读取表结构信息:
技术图片
技术图片

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

客户验收数据:

随机挑选表内数据交由客户验证,并统计恢复记录总数。客户验证后表示样例数据正确,总数符合原表内记录条数,恢复成功。

以上是关于服务器崩溃导致mysql数据库损坏的数据恢复过程的主要内容,如果未能解决你的问题,请参考以下文章

服务器数据恢复raid损坏导致戴尔某型号服务器崩溃的数据恢复案例

强制 InnoDB 恢复,启动 MySQL 数据库

Innodb数据库损坏导致mysql锁死

存储数据恢复服务器存储由于多次断电导致raid5阵列崩溃的数据恢复案例

服务器数据恢复服务器意外断电导致raid信息丢失,raid崩溃的数据恢复案例

EMC FC AX-4存储崩溃,raid5硬盘损坏的数据恢复过程