文档首页 > > 用户指南> MySQL数据库管理(标准版)> 数据方案> 数据追踪与回滚

数据追踪与回滚

更新时间:2020/03/24 GMT+08:00

操作场景

  • 核心数据变更审计,统计变更数量及查看敏感变更信息。

例如:银行流水查看收支情况,订单表统计新增订单,配置表关键配置变更历史。

  • 误操作数据回滚,找回误删除数据,恢复变更前数据状态。

例如:DBA更新配置未加where条件,误删除配置数据,程序bug生成大量脏数据及其连锁反应。

前提条件

您已成功登录到数据管理服务标准版页面。

操作步骤

  1. 在顶部菜单栏选择“数据方案”>“数据追踪与回滚”打开数据追踪与回滚任务列表页面。

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

    创建的任务将在15天后过期,系统会自动回收并删除在DAS存储中的变更记录。

  2. 在任务列表页面,单击页面左上角“发起追踪”,在新建任务弹窗中,设置数据追踪任务基本信息,如任务名、时间范围、数据库名等。

    • 首次进行数据穿越的用户需查看并勾选同意协议,才能创建数据追踪任务。
    • 任务追踪与回滚的时间范围默认为3小时。

  3. 在弹窗下部单击“预检查”,在预检查页面你可获取具体时间点的操作详情。

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

  4. 在弹窗下部单击“读取日志”,获取日志详情信息。

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

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

      如:

      创建任务追踪任务,其从binlog中读取日志,当本次读取的数据是上次任务的未读取完的数据信息,也就是实际日志结束的时间是上次任务读取内容所对应的时间时,会出现日志结束时间比本次日志开始时间时间早的现象。

  5. 在弹窗下部单击“搜索日志”,进入搜索日志页面,获取变更事件列表信息。

    • 支持文件日期范围、类型过滤、文件过滤、表名及高级条件搜索查询功能。
    • 在搜索列表操作栏中,单击“查看数据”,可查看当前事件变更的数据信息。

    • 在搜索列表操作栏中,单击查看回滚语句可查看当前事件回滚SQL(无主键表不支持生成回滚语句)。

  6. 当有多个事件需要合并回滚时,在搜索日志页面单击“新建回滚任务”,在“新建回滚任务”弹窗中指定回滚事件ID范围,将合并后的回滚SQL生成到OBS桶中,并按需设置高级选项信息,设置完成后单击“确定”按钮。

    • 开始事件ID及结束事件ID为任务列表中ID号,且应按正序填写。
    • 变更合并

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

    • 语句类型选项

      生成基于事件的回滚SQL:针对数据发生变更时的前后镜像生成反向变更SQL。

      获取数据变更前的原始数据:将数据变更前镜像生成回滚表及insert语句。

  7. 在回滚任务列表页面,您可查看当前回滚任务信息或新建回滚任务。

    • 在任务列表“任务ID”栏下单击目标任务ID,即可查看该任务详情。
    • 在任务列表操作栏下单击“查看详情”,可查看本次回滚任务的详情信息。
    • 在任务列表操作栏下单击“下载”,可在本地获取本次任务数据压缩包。

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

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

在文档使用中是否遇到以下问题







请至少选择或填写一项反馈信息

字符长度不能超过200

反馈内容不能为空!

提交反馈 取消