TECH NOTES / 中间件与数据

Canal 订阅过滤与相关资料

原笔记 2024-11-01 · 整理于 2026-10-05

整理 Canal 订阅过滤规则和 CloudCanal 资料入口,区分两类工具的用途。

先区分两个项目

原笔记同时收藏了 Alibaba Canal 和 CloudCanal 的资料,名称相近,但配置不可混用。下面的 CanalConnector 与订阅过滤讨论的是 Canal。CloudCanal 的服务形式与授权范围,请到其官网核对,旧群公告中的“免费”和“最新版本”不再作为当前结论。

配置的过滤正则

参考:

Canal配置connector.subscribe和canal.instance.filter.regex遇到的坑

Canal学习配图 1

注意:

如果修改了canal配置的instance文件,一定不要在客户端调用CanalConnector.subscribe(".*\\..*"),不然等于没设置canal.instance.filter.regex。配置根据CanalConnector.subscribe(”表达式“)里的正则表达式进行过滤

如果 设置了canal.instance.filter.regex。 可以设置 connector.subscribe(); 不填写任何配置。

CanalConnector是否调用subscribe(filter)方法;有的话,filter需要和instance.properties的canal.instance.filter.regex一致,否则subscribe的filter会覆盖instance的配置,如果subscribe的filter是.*\..*,那么相当于你消费了所有的更新数据

修改canal instance 连接密码

原笔记使用 MySQL 的 PASSWORD() 函数生成 Canal 连接密码。这属于旧环境记录,不能直接套用到 MySQL 8.0。先区分 Canal 客户端连接凭据与 Canal 读取源库的凭据,再按实际 Canal 版本的认证配置处理。

参考:Canal 项目文档。

文章配图