利用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日志。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM