docker安装并使⽤阿⾥巴巴Canal(含安装MySQL、开启binlog、Java代码。。
⼀、安装MySQL
MySQL的安装可参考本⼈博客:
建议将配置⽂件挂载在本地,⽅便后续修改,请参考⽂中⽅式⼆。
⼆、开启MySQL binlog⽇志并注册账户
1、查看是否已经开启binlog
show variables like 'log_bin';
2、开启binlog⽇志
通过第⼀步安装MySQL时,已经将配置⽂件挂载在了本地,在配置⽂件中新增以下内容,让重启MySQL
# server_id不重复即可,不要和canal的slaveId重复
server_id=1
# 开启binlog
log_bin = mysql-bin
# 选择row模式
binlog_format = ROW
对于配置⽂件在本⼈博客【】中有过简单说明,发现配置⽂件在f.d/mysqldf,并⾮myf,有可能是安装⽅式或MySQL版本不同配置⽂件地址应该不同,此处不做深层次研究。
重启MySQL后显⽰binlog已开启
新建⽤户⽤于canal订阅binlog使⽤,可以进⼊docker容器操作 也可以直接在Navicat中操作
# 新建⽤户⽤户名:canal  密码:canal
CREATE USER canal IDENTIFIED by 'canal';
# 授权
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%'; # 刷新MySQL的系统权限相关表
FLUSH PRIVILEGES;
⽅式⼀:在Navicat中操作
⽅式⼆:进⼊docker容器操作
# 8a069c3081f6为MySQL的容器ID docker exec -it 8a069c3081f6 /bin/bash # 已root权限进⼊然后输⼊密码即可mysql -u root -p
三、docker安装canal
1、先在Docker Hub中下载canal-server镜像
docker pull canal/canal-server:latest
2、先启动Canal,⽤于复制properties配置⽂件
docker run -p 11111:11111 --name canal -d canal/canal-server:latest
3、初次启动Canal镜像后,将instance.properties⽂件复制到宿主机,⽤于后续挂载使⽤# de91f4226e27 容器ID
mysql下载后的初次使用
# /home/admin/canal-server/conf/example/instance.properties 容器中properties配置⽂件地址
# /mydata/canal/conf/ 宿主机的位置,按照个⼈配置即可
docker cp de91f4226e27:/home/admin/canal-server/conf/example/instance.properties  /mydata/canal/conf/
4、修改instance.properties

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。