一、工作原理
1、简介
canal可以用来监控数据库数据的变化,从而获得新增数据、修改数据,阿里公司开始尝试逐步基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅和消费的业务。
2、原理
2.1、canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议
2.2、mysql master收到dump请求,开始推送binary log给slave也就是canal
2.3、canal解析binary log对象(原始为byte流)
备注:只监听mysql
二、安装
1、下载镜像
docker pull docker.io/canal/canal-server
2、安装
docker run -p 11111:11111 --name canal -d docker.io/canal/canal-server
3、进入容器后,修改核心配置canal.properties和instance.properties
canal.properties是canal自身的配置
instance.properties是需要同步数据库连接配置
执行命令如下:
docker exec -it canal /bin/bash
cd canal-server/conf/
vi canal.properties
cd example/
vi instance.properties