canal
Canal是阿里巴巴开源的一款主要用于数据库同步业务的项目,基于数据库的日志解析,获取增量变更进行同步,由此衍生出了Canal增量订阅&消费的实时数据库同步。目前阿里内部版本已经支持mysql和oracle部分版本的日志解析,当前的canal开源版本支持mysql 5.7及以下的版本。
基本原理:
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump请求,开始推送binary log给slave(也就是canal)
canal解析binary log对象(原始为byte流)
工作原理

工作原理
原理相对比较简单:
canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
mysql master收到dump请求,开始推送binary log给slave(也就是canal)
canal解析binary log对象(原始为byte流)
Canal安装配置
wget https://github.com/alibaba/cana

Canal是一款用于数据库同步的开源项目,主要针对MySQL的增量数据订阅和消费。本文介绍了Canal的基本原理,如何模拟MySQL slave与master交互,并详细讲解了Canal的安装配置过程,包括设置canal.id、zookeeper地址、数据库连接信息等。同时,文章提及了Canal支持的MySQL binlog解析和数据过滤规则。后续内容将涉及如何同步数据到Dataworks数仓。
最低0.47元/天 解锁文章
3152

被折叠的 条评论
为什么被折叠?



