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)运行过程中的日志
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通