前提条件
- 数据追踪目前仅支持MySQL数据库,且MySQL为5.6及以上版本。
- 数据追踪为企业版功能,请切换到DMS企业版后使用该功能,切换步骤及实例注意事项详见 版本说明 。
- 数据追踪要求当前用户以及登录实例的账户,拥有追踪的目标数据库或目标表的查询权限。查询及修改用户对实例元数据的操作权限,请详见 我的权限 。
- 数据库已开启Binlog,并且 Binlog 相关参数设置如下:
binlog_format = ROW
、binlog_row_image = FULL
。
注意事项
- 数据追踪仅支持追踪DML语句变更的数据,包括更新、插入、删除,不支持DDL语句变更的数据。
- 数据追踪仅可追踪到目标实例的Binlog保留时长内的变更数据,若追踪时间超过了Binlog的保留时长,则获取不到该部分数据。
- 数据追踪通过解析实例Binlog来得到误操作的数据,任务执行时会占用部分实例性能,尽量避免在实例使用高峰期执行数据追踪任务。
- 每个工单最多保存100W行追踪结果,保留1日后过期删除,请及时查看。
- 单个组织下未过期工单的追踪结果总数最多保存200W行记录。
- 执行数据追踪前,请确保数据库的Binlog开启并且正确配置Binlog。
操作步骤
- 登录数据管理服务。
- 在左侧菜单栏,点击开发空间>数据追踪,进入数据追踪工单列表页面。
- 点击数据追踪按钮,打开新建数据追踪工单填写界面,工单输入说明如下:
输入内容 说明 数据库 选择目标实例上的某个目标数据库。
目前数据库仅支持MySQL数据库,MySQL为5.6及以上版本。
追踪内容 选择目标表,支持选择部分表或全部表进行数据追踪。
注意执行追踪任务前需先确认有目标表的查询权限。
追踪时间 选择需要追踪的时间段,可选时间段最大为48小时,若超过48小时可分段提交多次数据追踪工单。
注意追踪时间需选择在Binlog保存时间内。追踪类型 选择需要追踪的变更类型,包括:插入、更新、删除。您可勾选多个类型进行追踪。点击全选,默认追踪全部的变更类型。
工单说明 可描述工单备注内容。
- 填写完数据追踪工单后,点击提交按钮,在弹出的开始执行弹窗点击确定按钮后即完成工单的提交,进入数据追踪工单列表页。
- 在数据追踪工单列表页点击工单号或详情按钮,可查看数据追踪工单的概括内容,如追踪表信息、进度条等。
- 提交工单后,会进入预检查阶段,工单状态为“预检查中”,预检查会自动对数据追踪任务进行检查,包括数据库连接检查、账号权限检查、Binlog 配置检查、Binlog 文件检查。如果预检查未通过,会提示具体信息,方便您进行定位和修改。
- 检查完成后,工单进入审批阶段,工单状态为“审批中”,工单需由指定审批人进行审批,若当前账号角色为高权限账号,则可免审批,进入执行阶段。
- 工单执行完成后,如果工单状态为“执行完成”,可点击追踪结果查看追踪内容;如果工单状态为“执行失败”,您可根据失败提示信息,修改工单对应内容。
- 在追踪结果页面,可点击页面的导出回滚脚本或导出重建脚本来生成所选记录对应的回滚/重建SQL。也可选择指定变更记录,点击右侧的详情按钮,在打开的详情弹窗上查看变更前和变更后的数据信息和对应的回滚SQL,此时可点击弹窗上的提交变更SQL按钮跳转到SQL变更工单界面方便您执行回滚SQL。
说明
点击导出回滚脚本或导出重建脚本按钮查看生成的变更SQL时,最多只展示1000条SQL,如所选记录超过1000条,可点击下载按钮查看全部变更SQL。
可通过点击提交SQL变更按钮跳转到SQL变更工单界面执行回滚/重建SQL,当记录超过1000条,最多只填充1000条SQL至SQL变更工单,您可手动拆分多个SQL工单执行。