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)运行过程中的日志