Canal + RabbitMQ 实现监听 MySQL 数据库

第一步:开启Mysql Biglog日志(window路径:C:\ProgramData\MySQL\MySQL Server 8.0\mysql.ini),Mysql8.0默认Biglog日志是启动的。

1.添加配置

[mysqld]
log-bin=mysql-bin # 开启binlog
binlog-format=ROW # 选择ROW模式
server_id=1 # 配置MySQL replaction需要定义,不和Canal的slaveId重复即可

2.重启Mysql,查看Biglog日志是否开启

show variables like 'log_bin';

 

 第二部 : 设置RabbitMQ 

1.添加交换机 canal.exchange

 

 2.添加列队

 

 3.列队绑定交换机

 

 

第三步:配置Canal

1.配置RabbitMQ(文件:conf\canal.properties)

配置服务参数(29行)

# tcp, kafka, rocketMQ, rabbitMQ, pulsarMQ
canal.serverMode = rabbitMQ

配置连接参数(174行)

rabbitmq.host = localhost
rabbitmq.virtual.host = /
rabbitmq.exchange = mysql.exchange
rabbitmq.username = guest
rabbitmq.password = guest
rabbitmq.deliveryMode = fanout

2.配置mysql数据库(文件:conf\example\instance.properties)

配置数据IP以及端口(9行)

 

canal.instance.master.address=127.0.0.1:3306

 

配置数据库账号密码 (32行)

# username/password
canal.instance.dbUsername=lzyyyds    
canal.instance.dbPassword=123
canal.instance.connectionCharset = UTF-8

第四步:运行Canal

 

执行(路径:\bin\startup.bat)startup.bat文件

查看(路径:logs\canal\canal.log) 是否启动成功

查看(路径:logs\example\example.log)运行过程中的日志

 

posted @   lzy1666  阅读(842)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示