文档首页/ 数据管理服务 DAS/ 用户指南/ MySQL/ 数据追踪与回滚(不再推广)
更新时间:2024-09-05 GMT+08:00

数据追踪与回滚(不再推广)

数据追踪与回滚功能提供了数据变更操作追踪及数据回滚能力。

通常,数据追踪与回滚功能适用于如下场景:

  • 核心数据变更审计,统计变更数量及查看敏感变更信息。例如,查询银行流水查看收支情况、订单表统计新增订单、配置表关键配置变更历史。
  • 误操作数据回滚,找回误删除数据,恢复变更前数据状态。例如,DBA更新配置未加where条件、误删除配置数据、程序bug生成大量脏数据及其连锁反应。

前提条件

  • 已启用数据追踪与回滚功能。
  • 目标数据库已开启Binlog。

数据追踪

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 单击页面左上角的,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。
  4. 在左侧导航栏中,单击“开发工具”,进入开发工具页面。

    您也可以在产品概览页面,单击“进入开发工具”,进入开发工具页面。

  5. 选择需要登录的目标数据库实例,单击操作列表中的“登录”,登录目标数据库实例。
  6. 在顶部菜单栏选择数据方案 > 数据追踪与回滚,打开数据追踪与回滚任务列表页面。

    图1 进入任务
    • 您可根据时间范围或数据库名称等条件筛选查询。
    • 在任务列表“任务ID”栏下单击目标任务ID,即可查看该任务详情。
    • 在任务列表操作栏下单击“进入任务”,即可查看任务信息、搜索日志及回滚任务列表等日志追踪与回滚详情。
    • 您可勾选目标任务并进行删除操作,将同步删除在DAS存储中的变更记录。

    数据追踪任务默认有效期为15天,超时系统会自动回收并删除在DAS存储中的变更记录。

  7. 在任务列表页面,单击页面左上角“新建追踪任务”
  8. 在新建任务弹窗中,设置数据追踪任务基本信息。

    图2 新建追踪任务
    表1 追踪任务参数说明

    参数名称

    说明

    任务名称

    自定义任务名称。

    时间范围

    数据追踪的时间范围。建议选择不超过3小时的时间范围。

    数据库名

    数据追踪的目标数据库。

    表名

    选择需要进行检索的目标表,支持添加多张表。

    追踪类型

    支持多选,可按需选中检索的操作。

    支持如下追踪类型:

    • 更新
    • 插入
    • 删除
    • DDL语句

    首次进行数据回滚的用户需查看并勾选数据安全协议,才能创建数据追踪任务。

  9. 单击“预检查”,预检查会根据时间范围筛选Binlog列表。

    • 开启备份的RDS实例会定时备份Binlog文件到OBS桶中,备份会有不大于5分钟的延迟。
    • 当您发起对当前时间数据追踪时,存在无最新5分钟变更记录的可能,遇到该情况稍后重新创建任务即可。

  10. 预检查成功后,单击“读取日志”,获取日志详情信息。

    读取日志会发起Binlog解析,根据任务信息将存储涉及变更记录信息,以便支持后续数据筛选及展示。

    图3 读取日志
    • 所有日志读取成功才能进行搜索日志等相关操作。
    • 当前一次任务读取不完全时,再次启动追踪任务,可能出现读取日志开始时间比日志结束时间晚的情况,属于正常情况。

  11. 日志读取完成后,单击“搜索日志”,进入搜索日志页面,获取变更事件列表信息。

    • 您可以在搜索日志页面,获取变更事件的信息,如:事件ID、变更时间、变更类型、表名、行数、描述信息等。
    • 您也可以在搜索日志列表操作列查看数据或查看回滚语句。
      图4 搜索日志

数据回滚

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 单击页面左上角的,选择“数据库 > 数据管理服务 DAS”,进入数据管理服务页面。
  4. 在左侧导航栏中,单击“开发工具”,进入开发工具页面。

    您也可以在产品概览页面,单击“进入开发工具”,进入开发工具页面。

  5. 选择需要登录的目标数据库实例,单击操作列表中的“登录”,登录目标数据库实例。
  6. 在顶部菜单栏选择数据方案 > 数据追踪与回滚,打开数据追踪与回滚任务列表页面。
  7. 单击操作列“进入任务”

    图5 进入任务

  8. “搜索日志”页面单击“新建回滚任务”,或者在“回滚任务列表”页面单击“新建回滚任务”
  9. “新建回滚任务”弹窗中设置回滚任务信息。

    图6 新建回滚任务
    表2 回滚任务参数说明

    参数名称

    说明

    开始事件ID

    开始事件ID为任务列表中ID号,且应按正序填写。您可以通过11查看事件ID号。

    结束事件ID

    结束事件ID为任务列表中ID号,且应按正序填写。您可以通过11查看事件ID号。

    回滚语句存放位置

    填写OBS桶。

    出于数据隐私性保护目的,DAS会将回滚语句存放在OBS桶中,然后DAS会自动连接到该OBS桶,进行内存式读取,整个过程您的数据内容不会落盘在DAS的任何存储介质上。

    创建OBS桶免费,但保存文件将产生一定的费用。

    字符集

    选择字符集。

    语句类型选项

    • 生成基于事件的回滚SQL:针对数据发生变更时的前后镜像生成反向变更SQL。
    • 获取数据变更前的原始数据:将数据变更前镜像生成回滚表及insert语句。

    高级选项

    您也可以根据需要在高级选项中设置追踪类型、表名、字段名、字段内容。

    对于同一记录(主键)连续3次变更(1→2→3→4)等价于1次变更(1→4)。

  10. 设置完成后单击“确定”
  11. 在回滚任务列表页面,您可查看回滚任务。

    图7 查看当前回滚任务
    • 在任务列表操作栏下单击“查看详情”,可查看本次回滚任务的详情信息。
    • 在任务列表操作栏下单击“下载”,可将数据变更前的原始数据和基于事件的回滚SQL下载到本地进行查看。
    • 在任务列表右上方搜索框中输入任务ID可对目标任务进行搜索。
    • 在任务列表操作栏中可根据回滚任务ID、开始事件ID、结束事件ID、文件大小、状态对任务进行排序。

      同一记录合并变更存在变更抵消情况(insert->delete,delete->insert,update->update),因此生成文件会存在无回滚SQL或无原始数据情况。