centos安装canal

简介

canal [kə’næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费

工作原理

  • canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送 dump 协议
  • MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
  • canal 解析 binary log 对象(原始为 byte 流)

环境

mysql 5.7

ip:192.168.1.1

修改MySQL配置,开启 Binlog

systemctl  stop  mysqld

vim  /etc/my.cnf
log-bin=mysql-bin 	# 开启 binlog
binlog-format=ROW 	# 选择 ROW 模式
server_id=1 		# 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

systemctl  start  mysqld

新建MySQL用户,授权 canal 链接 MySQL 账号具有 MySQL slave 的权限

CREATE USER canal IDENTIFIED BY 'Canal123!@#';  

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';

FLUSH PRIVILEGES;

下载安装

wget  https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.deployer-1.1.4.tar.gz

mkdir -p  /opt/canal

tar zxvf canal.deployer-1.1.4.tar.gz  -C /opt/canal

vim /opt/canal/conf/example/instance.properties
canal.instance.mysql.slaveId=2
canal.instance.master.address = 192.168.1.1:3306
canal.instance.dbUsername=canal
canal.instance.dbPassword=Canal123!@#

#编辑conf下的canal_local.properties文件,canal_local.properties是canal.properties的简化版,正常情况使用canal_local.properties就够了,但是默认启动会加载canal.properties,所以需要将canal.properties删除,或者把canal_local.properties覆盖canal.properties,或者用sh startup.sh local启动

cd /opt/canal/conf
rm -rf canal.properties
cp -a canal_local.properties canal.properties

vim  canal.properties
#此处最好将本机ip填上
canal.register.ip = 192.168.1.1
#此处是填web页面的管理地址,注意:即便是装到一台服务器,也不要用127.0.0.1,否则可能会有问题
canal.admin.manager = 192.168.1.1:8089
canal.admin.port = 11110
canal.admin.user = admin
canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441

canal.admin.register.auto = true
canal.admin.register.cluster =

启动服务,最好先启动web管理端,再启动本服务

cd /opt/canal/bin  &&  sh  startup.sh

参考文献:

https://github.com/alibaba/canal/wiki/QuickStart

https://github.com/alibaba/canal/issues/2129

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值