【 TiDB 使用环境】生产环境
【 TiDB 版本】5.3.0
【复现路径】
【遇到的问题:问题现象及影响】
1、cdc5.3.0支持行过滤吗?
2、tidb集群5.3.0能安装8.1的cdc吗?
cdc支持表过滤,行的话应该是不支持的。
要安装8.1的cdc的话,你搞个高版本的tiup 部署呗
1.强烈tidb ticdc 同版本使用,否则会有非预期的兼容性问题
2.关于 filter 有如下选项
3.# 事件过滤器规则
事件过滤器的详细配置规则可参考: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
第二个事件过滤器规则
[[filter.event-filters]]
matcher = [“test.fruit”] # 该事件过滤器只应用于 test.fruit 表
ignore-event = [“drop table”, “delete”] # 忽略 drop table 的 DDL 事件和 delete 类型的 DML 事件。需要注意的是,在更新 TiDB 中聚簇索引的列值时,TiCDC 会将一个 UPDATE 事件拆分成为 DELETE 和 INSERT 事件,TiCDC 无法将该类事件识别为 UPDATE 事件,因此无法正确地进行过滤。
ignore-sql = [“^drop table”, “alter table”] # 忽略以 drop table 开头的,或者包含 alter table 的 DDL 语句
ignore-insert-value-expr = “price > 1000 and origin = ‘no where’” # 忽略包含 price > 1000 和 origin = ‘no where’ 条件的 insert DML
https://docs.pingcap.com/zh/tidb/stable/ticdc-changefeed-config#ticdc-changefeed-配置文件说明