TiCDC 兼容性

    • TiCDC v4.0.0 中移除了 ignore-txn-commit-ts,添加了 ignore-txn-start-ts,使用 start_ts 过滤事务。
    • TiCDC v4.0.2 中移除了 db-dbs/db-tables/ignore-dbs/ignore-tables,添加了 rules,使用新版的数据库和数据表过滤规则,详细语法参考。
    • 自 TiCDC v6.2.0 开始,cdc cli 将通过 TiCDC 的 Open API 直接与 TiCDC server 进行交互,而不再需要访问 PD。cdc cli 子命令中的 --pd 参数被废除,增加了 --server 参数,用于指定 TiCDC Server 地址。请使用 --server 参数替代 --pd 参数。
    • 从 v6.4.0 开始,TiCDC 使用 Syncpoint 功能需要同步任务拥有下游集群的 SYSTEM_VARIABLES_ADMIN 或者 SUPER 权限。

    兼容性问题处理

    本节介绍了兼容性相关的问题。

    使用 TiCDC v5.0.0-rc 版本的 cdc cli 工具操作 v4.0.x 版本的 TiCDC 集群时,可能会遇到如下异常情况:

    • 若 TiCDC 集群版本为 v4.0.9 或以上,使用 v5.0.0-rc 版本的 cdc cli 创建同步任务 changefeed,会导致 Old Value 和 Unified Sorter 特性被非预期地默认开启。

    处理方案:

    1. 删除使用 v5.0.0-rc 版本创建的 changefeed,例如:tiup cdc:v4.0.9 cli changefeed remove -c xxxx --pd=xxxxx --force
    2. 如果 TiCDC 同步已经卡住,重启 TiCDC 集群,例如:tiup cluster restart <cluster_name> -R cdc
    3. 重新创建 changefeed,例如:tiup cdc:v4.0.9 cli changefeed create --sink-uri=xxxx --pd=xxx

    注意

    上述问题仅在 cdc cli 的版本是 v5.0.0-rc 时存在。未来其他 v5.0.x 版本的 cdc cli 可以兼容 v4.0.x 版本的集群。

    TiCDC 从 v5.3.0 开始支持全局临时表

    你需要使用 TiCDC v5.3.0 及以上版本同步全局临时表到下游。低于该版本,会导致表定义错误。

    如果 TiCDC 的上游集群包含全局临时表,下游集群也必须是 TiDB 5.3.0 及以上版本,否则同步报错。