前言
canal 数据实时同步,读取Mysql Binlog 日志, 首先需要开启Binlog日志
一、canal 是什么?
canal,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。
二、使用步骤
1. 开启mysql Binlog
// 查询是否开启Binlog
mysql -u -root -p
use mysql
show variables like '%log_bin%';
log_bin value=ON 开启状态
进入mysql的my.cnf 在mysqlId 下写入
重新启动mysql
service mysqld restart / service mysql restart
2. 下载canal
地址:
Releases · alibaba/canal · GitHub
阿里巴巴 MySQL binlog 增量订阅&消费组件 . Contribute to alibaba/canal development by creating an account on GitHub.
https://github.com/alibaba/canal/releases
下载 1.2.3
3. 配置 canal
1. 配置canal.admin
vim /config/ application.yml
./bin/startup.sh 启动admin
2. 配置deployer
/conf/example 修改instance.properties
canal.instance.master.address=127.0.0.1:3306 // 源数据地址
canal.instance.dbUsername=root // 数据库账户
canal.instance.dbPassword=YINHE@ROOT2021 // 数据库密码
./bin/startup.sh 启动deployer
3.配置adapter
vim /conf/application.yml
srcDataSources:
defaultDS:
url: // 源数据库地址
username: // 账户
password: // 密码
canalAdapters:
- instance: example # canal instance Name or mq topic name
groups:
- groupId: g1
outerAdapters:
- name: logger
- name: rdb
key: mysql1
properties:
jdbc.driverClassName: com.mysql.jdbc.Driver
jdbc.url: // 同步数据库地址
jdbc.username: // 账号
jdbc.password: // 密码
进入rdb文件修改yml
outerAdapterKey: mysql1
concurrent: true
dbMapping:
database: kucun // 源数据库名
table: // 源数据表
targetTable: 同步数据库表
targetPk:
id: id
mapAll: true // 表示机构相同
代码解读
./bin/startup.sh 启动
4. 结束语:
注意配置号配置问题 启动后可以去log查看日志
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43400608/article/details/125163522
文章转载自鲁鲁,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




