0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【数据库数据恢复】华为云ECS网站服务器mysql数据库数据恢复案例

Frombyte 来源:Frombyte 作者:Frombyte 2023-01-17 15:40 次阅读

数据库数据恢复环境:

华为云ECS,linux操作系统;

mysql数据库,实例内数据表默认存储引擎为innodb。

数据库故障:

在执行数据库版本更新测试时,用户误将本应在测试库测试的sql脚本执行在生产库中,导致部分表被truncate,部分表内少量数据被delete。

数据库恢复过程:

1、由于该ECS内有其他业务在正常运行中,为避免被truncate表的底层数据不被破坏,首先镜像备份mysql数据库data目录所在分区。

poYBAGPGUKOATvGbAACu_9nB79g905.png

北亚数据恢复——mysql数据恢复

2、由于需要恢复的被truncate表不存在大字段类型值和myisam引擎表,数据恢复工程师使用工具扫描数据段并下载恢复数据所必需的mysql数据库段碎片。由于innodb引擎表的数据恢复必须依赖表结构信息,mysql的表结构信息存储于对应表名的.frm文件内。经过检测发现在本案例中的.frm文件完好,可直接使用。下载需要的表对应的.frm文件。

pYYBAGPGUKyANaGiAADL7XSRMxw340.png

北亚数据恢复——mysql数据恢复

3、读取数据段内系统表信息,获取需要恢复的表在系统表内的注册信息。

4、在下载完成的数据段文件内提取对应于各表的数据页,解析对应表的.frm文件获取到该表的表结构信息。通过表结构信息获取到底层数据分配规则,按照规则拆分数据段内二进制数据并对不同类型进行字符展示转换(各类整型、浮点型、时间型等),完成数据段到sql语句的转换。

5、恢复被delete数据的表,过程和恢复truncate表的类似,不同点在于解析数据时需要提取被标注为“delete”的记录。

6、根据解析出的表结构信息在环境中的mysql实例内创建表,并将恢复出的数据导入。

poYBAGPGULWAScjBAAe_HCDtdZM695.png

北亚数据恢复——mysql数据恢复

poYBAGPGULWAQQjxAAnEUPibiqw556.png

北亚数据恢复——mysql数据恢复

7、由于直接从底层抓取出的记录可能存在主键不唯一(引擎在存储时产生的临时记录)和记录重复(缓冲段)以及乱码(扫描数据段时出现特征值匹配成功但不属于该表的数据段)等情况,提取出的记录可能存在异常,需要北亚企安数据恢复工程师手动处理。

8、开启远程桌面,由用户验证数据的准确性和完整度。经过反复验证,truncate表和delete记录的表都完整恢复。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据恢复
    +关注

    关注

    10

    文章

    573

    浏览量

    17457
  • 数据库
    +关注

    关注

    7

    文章

    3799

    浏览量

    64395
  • 华为云
    +关注

    关注

    3

    文章

    2491

    浏览量

    17428
收藏 人收藏

    评论

    相关推荐

    树莓派使用Socket发送数据至阿里服务器ECS并存入数据库的方法

    的信息;深联智达 DL-20 2.4G zigbee无线串口收发模块将采集到的信息从单片机发送给树莓派;树莓派4B将接收到的数据再转发给阿里服务器ECS;阿里
    发表于 02-18 06:48

    华为数据库-RDS for MySQL数据库

    华为数据库-RDS for MySQL数据库 华为
    的头像 发表于 10-27 11:06 1524次阅读

    华为数据库\-GaussDB for MySQL数据库

    华为数据库-GaussDB for MySQL数据库 GaussDB是华为
    的头像 发表于 10-27 14:56 1264次阅读

    MySQL数据库服务器数据库和表之间是什么关系

    数据库服务器MySQL安装后,会成为一个windows服务,这个windows服务可以看做是数据库
    的头像 发表于 01-31 14:59 1215次阅读
    <b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b><b class='flag-5'>服务器</b>、<b class='flag-5'>数据库</b>和表之间是什么关系

    数据库数据恢复-Syabse数据库数据恢复案例

    数据库恢复环境: Sybase版本:SQL Anywhere 8.0。 数据库故障: 数据库所在的设备意外断电后,数据库无法启动。
    的头像 发表于 07-28 14:38 1272次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>-Syabse<b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复-oracle数据库报错无法打开的数据恢复案例

    oracle数据库数据恢复环境: 一台服务器,底层由12块硬盘组成一组磁盘阵列,上层操作系统上运行oracle数据库。 oracle
    的头像 发表于 10-12 14:00 852次阅读

    服务器数据恢复—误还原快照导致SqlServer数据库数据丢失的数据恢复案例

    服务器数据恢复环境: vmfs文件系统,存放的是SqlServer数据库及其他办公文件。 服务器故障: 工作人员误操作还原快照,导
    的头像 发表于 11-06 15:06 697次阅读

    服务器数据恢复服务器ECS数据恢复案例

    服务器数据恢复环境: 阿里ECS网站
    的头像 发表于 11-07 15:10 1050次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>云</b><b class='flag-5'>服务器</b><b class='flag-5'>ECS</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复MySQL数据库表误删除记录的数据恢复案例

    数据库数据恢复环境: 一台本地windows sever操作系统服务器服务器上部署mysql
    的头像 发表于 11-09 15:16 1334次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>表误删除记录的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    MySQL数据库是如何应对故障恢复数据恢复回滚的问题呢?

    今天这篇文章,我想聊一聊MySQL数据库是如何应对故障恢复,与数据恢复回滚的问题。一个最基本的数据库
    的头像 发表于 11-27 10:04 1129次阅读
    <b class='flag-5'>MySQL</b><b class='flag-5'>数据库</b>是如何应对故障<b class='flag-5'>恢复</b>与<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>回滚的问题呢?

    数据库数据恢复—未开启binlog的Mysql数据库数据恢复案例

    mysql数据库数据恢复环境: 本地服务器,windows server操作系统 ,部署有mysql
    的头像 发表于 12-08 14:18 1139次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—未开启binlog的<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    服务器数据恢复-华为ECS服务器数据恢复案例

    服务器数据恢复环境: 华为ECS
    的头像 发表于 12-27 15:03 1017次阅读
    <b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>-<b class='flag-5'>华为</b><b class='flag-5'>ECS</b><b class='flag-5'>云</b><b class='flag-5'>服务器</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—raid5阵列上层Sql Server数据库数据恢复案例

    数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql S
    的头像 发表于 05-08 11:43 512次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—raid5阵列上层Sql Server<b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>案例

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    试图恢复数据库,发现有数个ndf文件大小变为0KB。 虽然NDF文件大小变为0KB,但是NDF文件在磁盘上还可能存在。可以尝试通过扫描&拼接数据库碎片来恢复NDF文件,然后修复数据库
    的头像 发表于 10-31 13:21 225次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—通过拼接<b class='flag-5'>数据库</b>碎片<b class='flag-5'>恢复</b>SQLserver<b class='flag-5'>数据库</b>

    数据库数据恢复Mysql数据库表记录丢失的数据恢复流程

    Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、
    的头像 发表于 12-16 11:05 153次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b><b class='flag-5'>恢复</b>—<b class='flag-5'>Mysql</b><b class='flag-5'>数据库</b>表记录丢失的<b class='flag-5'>数据</b><b class='flag-5'>恢复</b>流程