开发者社区> 问答> 正文

canalserver支持一个instance实例抽取多库的么?

canalserver使用单库instance配置,不分组,然后在一个实例中抽取多个库的binlog日志。这种方式配置方法支持么?

已找到配置方法canal.instance.defaultDatabaseName=db1,db2。这个配置适用于同一个ip、port实例下不同库。库名之间使用逗号隔开。这样配置即可。

原提问者GitHub用户tc792617871

展开
收起
绿子直子 2023-05-09 08:07:28 326 0
2 条回答
写回答
取消 提交回答
  • 我觉得你理解得有一点小问题,你那样是配置默认监听的多个库,但最好是在下面这个配置项中进行正则匹配就好了 所有库 canal.instance.filter.regex = ... db1,db2 canal.instance.filter.regex = db1..,db2..

    原回答者GitHub用户zlessa

    2023-05-09 19:37:34
    赞同 展开评论 打赏
  • 是的,Canal Server 支持一个 instance 实例抽取多个库的 binlog 日志。可以在 instance 配置中,将 canal.instance.defaultDatabaseName 参数设置为多个库名,使用逗号隔开。

    例如:

    canal.instance.defaultDatabaseName=db1,db2,db3
    

    这样配置之后,Canal Server 就会抽取这三个库的 binlog 日志,并将它们合并到一个 binlog 事件流中。需要注意的是,如果这三个库中有相同表名的表,就需要在 Canal Server 配置文件中,使用 canal.instance.filter.regex 参数,设置过滤规则,将这些相同表名的表进行区分,以免出现数据冲突。

    2023-05-09 09:01:35
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

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