TiDB 全量+增量同步时候binlog丢失,在不在意数据丢失的情况下,是否可以通过修改dm_meta字典库中syncer表中binlog_name和binlog_pos

TiDB 全量+增量同步时候binlog丢失,在不在意数据丢失的情况下,是否可以通过修改dm_meta字典库中syncer表中binlog_name和binlog_pos

可以 ,但是要保证表结构一致。否则会有异常

结构是一样的情况下如何操作 不报错 继续同步呢?谢谢

新建任务,用增量同步的方式指定位点开始同步

1 个赞

可以将全量任务改成增量任务,指定binlog位置,但注意表结构是否一致

不建议修改 dm_meta,增量任务开始的时候可以手动设置的 binlog_pos 或者 gtid:

mysql-instances:
  -
    source-id: "mysql-replica-01"           # 对应 source.toml 中的 `source-id`
    meta:                                   # `task-mode` 为 `incremental` 且下游数据库的 `checkpoint` 不存在时 binlog 迁移开始的位置; 如果 checkpoint 存在,则以 `checkpoint` 为准。如果 `meta` 项和下游数据库的 `checkpoint` 都不存在,则从上游当前最新的 binlog 位置开始迁移
      binlog-name: binlog.000001
      binlog-pos: 4
      binlog-gtid: "03fc0263-28c7-11e7-a653-6c0b84d59f30:1-7041423,05474d3c-28c7-11e7-8352-203db246dd3d:1-170"  # 对于 source 中指定了 `enable-gtid: true` 的增量任务,需要指定该值

您可以把之前的任务停止,然后重新设置一个开始的位置。

FYI: https://docs.pingcap.com/zh/tidb/dev/task-configuration-file-full

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。