m1pro通过docker部署canal

交代下自身环境

电脑是macbookpro14,m1pro的芯片

mysql8.0+通过docker部署的

1.拉取镜像

docker pull canal/canal-server

2.启动镜像(第一次启动只为挂载文件)

docker run --name canal -d canal/canal-server

3.拷贝配置文件(我们将配置文件挂载到本地)

docker cp canal:/home/admin/canal-server/conf/canal.properties /Users/xxxx/docker/canal
docker cp canal:/home/admin/canal-server/conf/example/instance.properties /Users/xxxx/docker/canal

4.关闭删除容器

#关闭容器
docker stop canal
 
#移除容器
docker rm canal

5.更改配置,基本都是默认的(address属性尽量写成本机的内网ip,本人在部署的时候因为写的127.0.0.1导致canal连接mysql被拒绝,排查了很久)

#mysql地址
canal.instance.master.address=127.0.0.1:3306
#用户名
canal.instance.dbUsername=canal
#密码
canal.instance.dbPassword=canal
#编码方式
canal.instance.connectionCharset = UTF-8

6.重新启动canal服务

docker run --name canal -p 11111:11111 -d -v /Users/xxxx/docker/canal/canal/instance.properties:/home/admin/canal-server/conf/example/instance.properties -v /Users/xxxx/docker/canal/canal/canal.properties:/home/admin/canal-server/conf/canal.properties -v /Users/xxxx/docker/canal/canal/logs/:/home/admin/canal-server/logs/ canal/canal-server:v1.1.4 

7.canal这边就基本部署完成了,更改mysql的配置即可,主要是在mysql的配置文件中添加一些配置开启二进制日志(为什么要开启二进制,自己百度一下吧这里不做教学只是记录一下自己部署的过程,踩了很多坑,按照我的一步一步部署肯定是没问题的)

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

8.检查一下二机制日志是否开启成功

#查看二进制日志状态,返回 ON 表示 binlog 启动成功
show variables like 'log_bin';
#查看下输出的方式ROW代表行,这里我们就用ROW就好了不需要去深入了解大数据的东西作为一个java开发会用就好
show variables like 'binlog_format';

9.创建canal用户(尽量不要用root毕竟安全最重要吗,配置文件默认的是canal,这里对应创建一下就好了)

grant SELECT, REPLICATION SLAVE, REPLICATION CLIENT on *.* to 'canal'@'%' identified by "canal";

10.可以去java端测试了 ,我截了个图代码就不贴了有需要私聊或者评论看到会回复的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值