利用Canal解析mysql binlog日志

一、安装包下载(canal.deployer-x.x.x.tar.gz  官方建议使用1.0.22版本)

https://github.com/alibaba/canal/releases

二、解压文件

tar -zxvf canal.deployer-1.0.22.tar.gz -C /app/canal/

三、修改canal配置文件

vim $CANAL_HOME/conf/canal.properties

vim $CANAL_HOME/conf/example/instance.properties

说明:

canal.zkServers : zk地址

canal.instance.mysql.slaveId : mysql serverId(不能与mysql配置中的server_id相同)

canal.instance.master.address : 数据库地址

canal.instance.dbUsername : mysql用户名

canal.instance.dbPassword : 密码

canal.instance.defaultDatabaseName : 默认监控的数据库

canal.instance.filter.regex : 过滤的正则表达式(默认全库全表)

四、数据库配置

数据库需要开启binlog日志,并且是ROW模式

五、启动canal服务(每台机器启动,但zk上只会有一个server)

bin/startup.sh

六、更新数据库中记录

操作数据库中记录时,客户端就可解析到数据变化了

七、客户端代码

https://github.com/smile0327/canal-test.git

注意:我这里使用的是1.0.22版本。使用1.0.25版本时,如果mysql和canal server在同一台机器,程序不会报错,但是canal server无法消费到binlog日志。

猜你喜欢

转载自www.cnblogs.com/smile-xiaoyong/p/9286374.html