使用DMS数据追踪恢复MySQL数据

在对数据库进行变更操作时,可能因误更新、误删除或误写入等操作导致数据异常。此时,您可通过DMS的数据追踪功能,在Binlog保存时长内定位目标时间段的变更记录,并生成回滚脚本,快速恢复数据至变更前状态。相比恢复全量数据恢复库表,DMS数据追踪更加高效便捷,可显著提升日常运维中数据恢复的效率。

说明

更多数据恢复方案,请参见数据恢复方案概览

数据追踪与其他恢复方案的区别

恢复方案

恢复原理

费用

恢复速度

恢复范围

数据追踪

按需追踪到目标时间段内的相关更新,汇总生成逆向的回滚语句,并通过数据变更工单最终执行到数据库中完成数据的恢复。

  • 管控模式为自由操作,无费用。

  • 管控模式为稳定变更或安全协同,收取费用

取决于管控模式和Binlog日志保留时长。

  • 管控模式为自由操作,仅支持追踪30分钟内进行的DML操作,且无法导出回滚、重建脚本。

  • 管控模式为稳定变更或安全协同:

恢复库表

支持常规和极速级别的库表恢复速率,可以恢复指定库表到新实例或已有实例,恢复到已有实例会触发主备切换。

  • 如果恢复到新实例,需要收取新建实例费用。具体费用请参见实例售卖页。

  • 收取免费额度之外的备份费用

极速:快

常规:慢

取决于开启库表备份的时间点和日志备份保留时间,日志备份保留时间最大730天。

恢复全量数据

恢复全量数据到新实例,验证数据后,再将数据迁回原实例、其他实例或本地数据库。

  • 收取新建实例费用。具体费用请参见实例售卖页。

  • 收取免费额度之外的备份费用

  • 数据通过公网迁出收取流量费用

取决于日志备份和数据备份保留时长,最大730天。

前提条件

  • 数据库类型为MySQL,且MySQL5.6及以上版本。

  • 数据库已开启Binlog。

  • 已在DMS登录目标数据库。

    说明

    自由操作和稳定变更的实例需要登录。安全协同实例免登录。

注意事项

  • 自由操作实例仅支持追踪30分钟内进行的DML操作,且无法导出回滚、重建脚本。

  • 稳定变更、安全协同实例:无时间限制,可批量下载回滚、重建脚本。

  • DMS可追踪到的数据与目标数据库实例的Binlog保留时长有关,若该数据的保存时间超过Binlog的保留时长,则获取不到该部分数据。

  • 若数据库的Binlog未开启或数据库登录状态异常,系统将无法获取日志文件。

  • 数据追踪功能仅支持追踪DML数据变更的数据,不支持追踪DDL结构变更的数据。

操作步骤

  1. 登录数据管理DMS 5.0
  2. 单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据库开发 > 数据追踪 > 数据追踪工单

    说明

    若您使用的是非极简模式的控制台,在顶部菜单栏中,选择数据库开发 > 数据追踪 > 数据追踪工单

  3. 在页面右上角,单击数据追踪

  4. 数据追踪工单申请页面,配置如下信息:

    参数名

    说明

    任务名称

    便于后续检索,并提供给审批人员清晰的操作意图。

    库名

    指定库实例上的某个具体数据库(需要在DMS内有数据库的操作权限,输入库名前缀后可出现联想提示)。

    表名

    在指定的目标表中进行检索,支持添加多张表。

    追踪类型

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

    • 插入:插入类型的回滚语句为INSERT

    • 更新:更新类型的回滚语句为UPDATE

    • 删除:删除类型的回滚语句为DELETE

    时间范围

    选择追踪的时间范围。

    • 自由操作实例,仅支持追踪30分钟范围内的数据。

    • 稳定变更和安全协同实例不限制时间范围,但一个数据追踪工单最多可追踪48小时的数据。若超过48小时可分段提交多次工单。

    变更相关人

    可按需选择,非工单参与人和审批人,不可见工单详情。

  5. 单击提交申请,系统将获取日志文件。

    获取日志文件后,系统会进入审批环节。

  6. 等待审批通过。

    说明

    目前,系统默认数据追踪工单的审批人为数据库DBA。数据追踪的审批规则信息,请参见数据追踪

  7. 审批通过后,系统会进行日志下载、日志解析等操作。

  8. 待下载、解析完成后,您可以从追踪类型表名列名等维度筛选出您需要导出的回滚脚本。单击导出回滚脚本,该脚本文件会下载至本地。

    说明
    • 您可目标记录右侧的查看详情按钮,查看明细以及拷贝对应回滚语句。

    • 追踪类型插入更新删除

下一步:回滚SQL

导出回滚脚本后,您可先对回滚SQL影响数据行进行大概评估,再选择执行回滚SQL的方式:

  • 若影响较小,您可在SQL窗口执行SQL

  • 若影响较大,您可提交普通数据变更工单将此回滚脚本作为附件上传至工单中,执行至目标数据库中,请参见普通数据变更

相关API

使用API进行数据追踪:

    OSZAR »