canalserver使用单库instance配置,不分组,然后在一个实例中抽取多个库的binlog日志。这种方式配置方法支持么?
已找到配置方法canal.instance.defaultDatabaseName=db1,db2。这个配置适用于同一个ip、port实例下不同库。库名之间使用逗号隔开。这样配置即可。
原提问者GitHub用户tc792617871
我觉得你理解得有一点小问题,你那样是配置默认监听的多个库,但最好是在下面这个配置项中进行正则匹配就好了 所有库 canal.instance.filter.regex = ... db1,db2 canal.instance.filter.regex = db1..,db2..
原回答者GitHub用户zlessa
是的,Canal Server 支持一个 instance 实例抽取多个库的 binlog 日志。可以在 instance 配置中,将 canal.instance.defaultDatabaseName
参数设置为多个库名,使用逗号隔开。
例如:
canal.instance.defaultDatabaseName=db1,db2,db3
这样配置之后,Canal Server 就会抽取这三个库的 binlog 日志,并将它们合并到一个 binlog 事件流中。需要注意的是,如果这三个库中有相同表名的表,就需要在 Canal Server 配置文件中,使用 canal.instance.filter.regex
参数,设置过滤规则,将这些相同表名的表进行区分,以免出现数据冲突。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。