数据库数据恢复环境:
华为云ECS,linux操作系统;
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记录的表都完整恢复。
【数据库数据恢复】华为云ECS网站服务器mysql数据库数据恢复案例
来源:这里教程网
时间:2026-03-01 17:02:31
作者:
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 【数据库数据恢复】华为云ECS网站服务器mysql数据库数据恢复案例
【数据库数据恢复】华为云ECS网站服务器mysql数据库数据恢复案例
26-03-01 - Mysql数据库的监控
Mysql数据库的监控
26-03-01 - MySQL索引15连问,抗住!
MySQL索引15连问,抗住!
26-03-01 - 一文浅谈“读写分离”技术
一文浅谈“读写分离”技术
26-03-01 - MySQL性能优化浅析及线上案例
MySQL性能优化浅析及线上案例
26-03-01 - 关于Mysql数据存储,你了解多少?
关于Mysql数据存储,你了解多少?
26-03-01 - 云时代,最好用的 MySQL 客户端工具推荐
云时代,最好用的 MySQL 客户端工具推荐
26-03-01 - 我打赌!这个 SQL 题,大部分人答不出来
我打赌!这个 SQL 题,大部分人答不出来
26-03-01 - MySQL数据库-锁详解
MySQL数据库-锁详解
26-03-01 - MYSQL 主键的那些 “有意思” 故事
MYSQL 主键的那些 “有意思” 故事
26-03-01
