概述
Docker,安装部署 canal
不懂有些操作的可以看我的博客docker系列。废话就不多说了,比较简单。
按照我的步骤来,出了问题,喷我。
拉取镜像
[root@localhost home] docker pull canal/canal-server:latest
在目录创建文件目录
说明1:不在做 映射,忽略
查看 Mysql 是否 开启 binlog
show variables like 'binlog_format%'
如果不是 ROW
,在 Mysql ,my.ini 文件 写入 以下配置
[mysqld]
#开启binlog
log-bin = mysql-bin
#选择 row 模式
binlog-format = ROW
#配置 mysql replaction 需要定义,不能和 canal 的 slaveId 重
server_id = 1
如果 是 Mysql 8 没有 my.ini 文件 ,自行创建文件 ,写入配置,重启Mysql
数据库 创建 canal 用户
#创建用户
CREATE USER canal IDENTIFIED BY 'canal';
#赋权
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
#刷新
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
运行容器
这里的命令就不多做解释了,不懂的可以看看我前面的docker 系列博客,懒,不想多打字
[root@localhost home] docker run -d -p 11111:11111 --name canal canal/canal-server
进入容器修改配置文件
[root@localhost home] docker exec -it canal /bin/bash
vi /home/admin/canal-server/conf/canal.properties
[root@b0454894a51e admin]# cd /canal-server/conf
[root@b0454894a51e admin]# vi canal.properties
添加 canal.id = 23
不能跟 数据库的 server_id
重复
修改 canal.destinations = example1
canal.auto.scan = false
如果 出现启动异常:example1 should start first
就是没有 更改 canal.destinations = example1
这是 canal 源码的一个问题,请自行看 https://github.com/alibaba/canal/issues/468
创建
example1
目录,然后将instance.properties
复制过去,再编辑文件
[root@b0454894a51e example]# cd example
[root@b0454894a51e example]# mkdir conf/example1
[root@b0454894a51e example]# cp conf/example/instance.properties conf/example1
[root@b0454894a51e example]# vim conf/example1/instance.properties
修改 address 为你自己的数据库地址
修改 过滤规则
canal.instance.filter.regex= [你要监控的数据库名称]\..*
,默认是监控全库
修改完成 退出 容器 重启容器
[root@b0454894a51e example]# exit
[root@localhost home]# docker restart canal
最后
以上就是儒雅果汁为你收集整理的Docker,安装部署 canalDocker,安装部署 canal的全部内容,希望文章能够帮你解决Docker,安装部署 canalDocker,安装部署 canal所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复