文档中心>数据传输服务>数据同步>任务管理>修改同步实例的当前位点

修改同步实例的当前位点

最近更新时间:2026-07-06 16:48:01

我的收藏

操作场景

数据传输服务 DTS 支持修改同步实例增量同步模块的目标端写入位点,帮助您在不重建链路的前提下,从指定时间开始在目标端重新执行增量数据回放或跳过指定时间段的数据变更。
适用于以下场景:
重复执行数据变更(向前回退):源端发生主从切换或 binlog 异常,需要从某个时间点重新回放数据;数据不一致需要从指定时间点重新同步以修复差异;误操作导致目标端数据异常,需要回退到某个时间点重新回放。
跳过数据变更(向后跳转):需跳过已知的问题数据段或大事务,跳过中间的 binlog 事件,直接从新位点开始同步。

使用限制

仅支持 MySQL/MariaDB/Percona/TDSQL-C MySQL/TDSQL Boundless/TDSQL MySQL 的同步链路,暂不支持 TDSQL MySQL(MariaDB 内核)的数据库。
同一任务下仅允许存在一个进行中的"修改同步位点"子任务。
指定位点时间的可选范围为增量同步启动时间至当前时间后3天内。

注意事项

修改位点操作可能导致数据不一致或数据丢失,请谨慎操作,此操作不可撤销。
向前回退(位点早于当前位点)的影响:
从指定时间点开始重新在目标端回放数据。
冲突处理策略:目标端已写入数据再次回放时,有主键表采用冲突覆盖策略(以源端为准);无主键表无法去重,将产生重复数据。
向前回退需保证回退位点在源端 binlog 留存范围内;同时回退窗口到当前时间内不得包含任何 DDL(结构变更、字符集变更、Online DDL 切换等)与实例扩缩容事件,否则回退将会失败。
向后跳转(位点晚于当前位点)的影响:
跳过区间内的所有变更均不会在目标端回放。
数据层面:DML 被跳过,目标端与源端产生数据不一致。
结构层面:DDL 被跳过,若后续增量数据依赖这些结构变更,可能因目标端表结构错配导致同步任务报错中断,需用户自行评估后续风险。
修改位点后,已有的一致性校验结果失效,需重新发起数据校验。
修改位点确认后任务将自动重新启动,无需手动介入。
指定位点时间的可选范围为增量同步启动时间至当前时间后3天内。

前提条件

已创建的同步任务已进入增量同步阶段。
同步任务当前处于已暂停状态。如任务正在运行中,需先暂停任务。

操作步骤

1. 登录 DTS 控制台,在左侧导航选择数据同步页,选择指定的同步任务,在操作列单击暂停,将任务暂停。
2. 单击目标同步任务 ID,进入任务详情页面。
3. 在页面上方选择进度详情,然后选择增量同步页签。
4. 目标端写入位点右侧,单击修改位点
5. 在弹出的修改同步位点对话框中,配置以下参数,单击确定
参数
说明
指定位点类型
当前支持时间点方式。
时间点
选择目标时间点。
UTC 时区选择
选择时区。建议选择同源端数据库相同的时区。例如:数据库 timezone = "Asia/Shanghai",时区选择 UTC+8。
6. 在弹出的对话框中,确认位点信息无误后,再次单击确定
7. 任务将自动重新启动,等待任务恢复运行后,在增量同步页签查看目标端写入位点是否已更新。
说明:
修改位点后,建议使用数据校验功能验证数据一致性。具体操作请参见 创建数据一致性校验
如需查看历史修改记录,可在目标端写入位点右侧单击修改记录,进行查看。
修改位点后出现任务报错,可在目标端写入位点右侧单击取消修改

常见问题

Q1:修改位点后数据出现重复怎么办?

向前回退场景下,有主键表采用冲突覆盖策略不会产生重复数据。无主键表可能产生重复数据,建议在回退前评估影响范围,回退后使用数据校验功能确认数据一致性。

Q2:指定时间点对应的 binlog 已被清理怎么办?

修改位点时需保证回退位点在源端 binlog 留存范围内。若指定时间点对应的 binlog 已被源端清理(purge),则无法回退到该时间点,请选择更晚的时间点。

Q3:回退窗口内有 DDL 变更会怎样?

回退窗口到当前时间内不得包含任何 DDL(结构变更、字符集变更、Online DDL 切换等)与实例扩缩容事件,否则任务将直接报错。请确认回退窗口内无 DDL 后再操作。