监听mysql
需开启binlog和binlog格式并设置mysql的server_id
#my.cnf文件
log-bin=mysql-bin
binlog-format=ROW
server_id=123
#创建canal用户并授权
create user canal identified by ‘canal’;
grant select,replication slave, replication client on . to ‘canal’@‘%’;
flush privileges;
#查看是否开启binlog
show variables like ‘log_bin’;
on:开启成功
安装canal
1.拉取镜像
docker pull canal/canal-server:v1.1.5
2.创建一个容器
docker run --name canal -d canal/canal-server:v1.1.5
3.复制容器中的配置文件到本地
docker cp canal:/home/admin/canal-server/conf/canal.properties /usr/local/canal/conf
docker cp canal:/home/admin/canal-server/conf/example/instance.properties /usr/local/canal/conf
***cp 容器内文件地址 宿主机文件地址
4.修改配置文件
canal.properties (没有修改)
只修改了instance.properties
修改完之后
#关闭容器
docker stop canal
#移除容器
docker rm canal
5.启动新的容器
docker run --name canal -p 11111:11111 -v /usr/local/canal/conf/instance.properties:/home/admin/canal-server/conf/example/instance.properties -v /usr/local/canal/conf/canal.properties:/home/admin/canal-server/conf/canal.properties -d canal/canal-server:v1.1.5
***-v 本地目录:容器目录 是将主机的文件挂载到容器内部 这样就不用每次启动都要配置参数了
-d 后台运行容器
-p 指定主机的端口映射到容器的端口
6.进入canal容器内部查看是否运行成功
Docker exec –it canal bash
进入/home/admin/canal-server/logs/example目录
查看 example.log 日志
没有报错 代表成功