docker-compose安装canal
一、先安装好docker和docker-compose插入,本人已安装,此处省略
二、修改mysql的my.cnf配置文件
更改内容如下:
# 开启 binlog log-bin=mysql-bin # 选择 ROW 模式 binlog-format=ROW # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复 默认是1 server_id=1
本人的MySQL是通过宝塔安装,更改配置如下:
三、新建文件夹
mkdir /usr/local/dockercompose/canal/conf mkdir /usr/local/dockercompose/canal/logs
mkdir /usr/local/dockercompose/canal
四、关闭防火墙或者打开防火墙端口
建议大家开放端口,不要直接关闭防火墙
11111 canal端口 11112 canal内部端口 3306 MySQL端口 9876 rocketMQ端口
五、上传docker-compose至文件夹/usr/local/dockercompose/canal
docker-compose.yml文件
version: '3.0' services: canal-server: image: canal/canal-server:v1.1.5 container_name: canal-server ports: #canal默认端口号 - 11111:11111 environment: #设置从库id,不能与主库id相冲突 - canal.instance.mysql.slaveId=222 - canal.instance.master.address=数据库地址:3306 # mysql 复制账号 - canal.instance.dbUsername=数据登录名 - canal.instance.dbPassword=数据库登录密码 - canal.mq.topic=loginLogCanalTopic #数据库名.表名 - canal.instance.filter.regex=cyb-sp.login_log volumes: - $PWD/conf/:/usr/local/dockercompose/canal/conf/ - $PWD/logs/:/usr/local/dockercompose/canal/logs/
在该目录下运行docker-compose up -d 进行后台运行,启动成功后查询如下:
五、验证
更改cyb-sp.login_log表中的任意一条数据,更改保存后查看对应的rockerMQ控制面板,如果驾驶舱有topic消息或者主题中存在设置的topic则说明安装成功,如下所示:
出现以上效果canal就安装成功。