TICDC

【 TiDB 使用环境】生产环境
【 TiDB 版本】生产旧环境5.4 生产新环境7.5.3
【遇到的问题:问题现象及影响】
有需要从旧的环境到新的环境的增量同步 带有where条件的 ticdc工具不支持 有没有别的工具可以搞实时增量 同步


你这边试试,tidb 5.4 这个版本不确定是否支持。需要你验证下,

旧环境-(TiCDC)-> MySQL -(DM)-> 新环境,中间就多了一个MySQL中转

cloudcanal 支持TiDB 5.1.x , 5.2.x , 5.3.x , 5.4.x , 6.0.0 的版本 我们旧环境是5.4 新环境是7.5.3 我们买了cloudcanal的服务了 不支持

旧的环境不是整个表的同步 是表里面的一部分数据 需要加where条件 ticdc不满足

旧环境使用TiCDC全量同步到MySQL,然后使用DM结合Where同步到新环境

cloudcanal中驱动选择用mysql试试呢?别选tidb

我们源端也是tidb但是cloudcanal源端没有tidb选项

为啥说是 cdc 不支持呢?万一支持呢,参考:https://docs.pingcap.com/zh/tidb/v8.3/ticdc-changefeed-config

# 事件过滤器规则
# 事件过滤器的详细配置规则可参考:https://docs.pingcap.com/zh/tidb/stable/ticdc-filter
# 第一个事件过滤器规则
# [[filter.event-filters]]
# matcher = ["test.worker"] # matcher 是一个白名单,表示该过滤规则只应用于 test 库中的 worker 表
# ignore-event = ["insert"] # 过滤掉 insert 事件
# ignore-sql = ["^drop", "add column"] # 过滤掉以 "drop" 开头或者包含 "add column" 的 DDL
# ignore-delete-value-expr = "name = 'john'" # 过滤掉包含 name = 'john' 条件的 delete DML
# ignore-insert-value-expr = "id >= 100" # 过滤掉包含 id >= 100 条件的 insert DML
# ignore-update-old-value-expr = "age < 18" # 过滤掉旧值 age < 18 的 update DML
# ignore-update-new-value-expr = "gender = 'male'" # 过滤掉新值 gender = 'male' 的 update DML

我源端是5.4版本的 这个是从6.2版本开始支持

虽然旧环境生产 TiDB 是 5.4,理论上也可以使用 6.2 +版本的 TiCDC 来做同步吧,如果只是为了数据迁移,短时间内使用估计问题不大,有试过了吗?

cdc新版的好像支持where

生产环境 不能测试 问题是我们这边测试环境跟生产环境版本不一样 测试环境是7.1.2 所以很尴尬

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