mysql数据库数据恢复环境:某云ECS网站服务器,linux操作系统,部署了mysql数据库。工作人员在执行数据库版本更新测试时,错误地将本应在测试库执行的sql脚本在生产库上执行了,导致部分表被truncate,部分表内数据被delete。该实例内数据表采用innodb作为默认存储引擎。需要恢复被truncate的表以及被部分数据被delete的几个表。
mysql数据库数据恢复流程:1、由于ECS内有其他业务仍在运行,为保证被truncate表的底层数据不被破坏,在恢复恢复数据之前对mysql数据库的data目录所在分区进行备份。
2、由于需要恢复的表内不存在大字段类型值和myisam引擎表,北亚企安数据恢复工程师通过扫描数据段并下载恢复数据所必需的数据库数据段碎片。由于采用innodb引擎的数据表的数据恢复必须依赖表结构信息,mysql数据库的表结构信息存储于对应表名的frm文件内。本案例中frm文件完好,可直接使用。下载需要恢复的表所对应的frm文件。
3、读取数据段内系统表信息,获取需要恢复的表在系统表内的注册信息。4、恢复被truncate的表。在下载完成的数据段文件内提取对应于各表的数据页,通过解析对应表的frm文件获取到表的表结构信息。通过表结构信息获取到底层数据分配规则后,按照规则拆分数据段内二进制数据,并对不同类型数据进行字符展示转换,完成数据段到sql语句的转换。5、恢复被delete数据的表,基本流程和恢复truncate表数据的流程基本一致,不同点在于数据解析时需要提取被标注为“delete”的记录。6、根据解析出的表结构信息在恢复环境中的mysql实例内创建表,并将恢复出的数据导入。
7、由于直接从底层抓取出的记录可能存在主键不唯一(引擎在存储时产生的临时记录)和记录重复(缓冲段)以及乱码(扫描数据段时出现特征值匹配成功但不属于该表的数据段)等情况,提取出的记录可能存在异常,需要进行人工处理。8、所有数据处理完成后。由用户方验证数据。经过用户方的验证,truncate的表和delete记录的表恢复完整。
mysql数据恢复—innodb存储引擎数据库表被truncate的数据恢复
来源:这里教程网
时间:2026-03-01 18:33:51
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- MyISAM表的损坏恢复以及myisamchk工具使用
MyISAM表的损坏恢复以及myisamchk工具使用
26-03-01 - mysql数据恢复—innodb存储引擎数据库表被truncate的数据恢复
- MongoDB到关系型数据库:JSON字段如何高效转换?
MongoDB到关系型数据库:JSON字段如何高效转换?
26-03-01 - AI助力MySQL参数调优:一键生成MySQL最佳参数,2分钟达DBA水准
- Mysql数据恢复—未开启binlog的MySQL数据库全表数据丢失恢复操作指南
- MySQL分库分表迁移:ETL平台如何实现数据合并与聚合
MySQL分库分表迁移:ETL平台如何实现数据合并与聚合
26-03-01 - MySQL的ibdata1丢了!我们如何用AI快速批量恢复数千张表?
MySQL的ibdata1丢了!我们如何用AI快速批量恢复数千张表?
26-03-01 - Mysql Update误操作恢复标准化文档
Mysql Update误操作恢复标准化文档
26-03-01 - 16个知识点,学会MySQL数据库Binary Log Files !
16个知识点,学会MySQL数据库Binary Log Files !
26-03-01 - 如何通过 MySQL Hint 功能优化查询性能
如何通过 MySQL Hint 功能优化查询性能
26-03-01
