开发者社区> 问答> 正文

canal.properties配置问题

EventType这个枚举里有很多事件,请问能否在canal.properties里或者其他配置了,只让canal.entry里存insert,update,delete的数据?

原提问者GitHub用户shawn-happy

展开
收起
古拉古拉 2023-05-08 15:20:33 92 0
2 条回答
写回答
取消 提交回答
  • 我们可以通过配置来筛选需要监控的类型

    回答22.png

    https://github.com/alibaba/canal/wiki/AdminGuide

    SQL 语句主要可以划分为以下 3 个类别。

    DDL(Data Definition Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括 create、drop、alter等。

    DML(Data Manipulation Language)语句:数据操纵语句,用于添加、删除、更新和查询数据库记录,并检查数据完整性,常用的语句关键字主要包括 insert、delete、udpate 和select 等。(增添改查)

    DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。

    原回答者GitHub用户shubiao-yao

    2023-05-09 18:13:43
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    可以通过canal.instance.filter.regex配置项来过滤不需要的事件类型,只保留insert、update、delete等事件。具体的操作步骤如下:

    在Canal的配置文件(canal.properties或application.properties)中添加以下配置:

    canal.instance.filter.regex=...(INSERT|UPDATE|DELETE).* # 只保留insert、update、delete事件

    其中,canal.instance.filter.regex表示过滤事件的正则表达式。这里的正则表达式表示只保留库名.表名中包含INSERT、UPDATE或DELETE的事件类型。

    重启Canal服务,让配置生效。

    这样,Canal就会过滤掉不需要的事件类型,只保留insert、update、delete事件。注意,因为CanalInstanceManager支持多实例,所以这个配置项是针对每个实例的,如果你有多个实例,需要针对每个实例进行配置。

    2023-05-08 15:24:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载