1.部署mysql
需要开启mysql的binlong,和创建好用户等
可以参考这个
Docker部署Mysql数据库详解-CSDN博客
2.部署canal
参考这一篇:
docker安装Canal,开启MySQL binlog ,连接Java,监控MySQL变化_docker canal-CSDN博客
3.修改
上面的部署canal文章里面的canal路径映射是有问题的,需要参考下面的路径映射,
主要是把配置文件映射到/home/admin/canal-server/这个路径下面,而不是/opt/canal/conf/
并且需要修改canal.properties 和 instance.properties 这两个地方。
docker run -p 11111:11111 \
--name canal \
-v /opt/canal/conf/conf/:/home/admin/canal-server/conf \
-v /opt/canal/logs/:/home/admin/canal-server/logs/ \
-d canal/canal-server:v1.1.6
vim instance.properties
vim canal.properties
最重要的是要看日志:日志分别是在 /opt/canal/logs目录里面 ,或者也可以进容器里面去看,docker exec -it canal bash
这两个目录的里面的日志文件都需要看一下,是否有报错,没有报错的话应该就可以连了,如果有报错,根据报错的信息进行解决。一个是canal的日志,一个是example的日志,两个都需要看一下
如果提示什么bin-log位置不对,可以可以删除一下meta.data这个文件,这个文件的位置如下
并且可以把报错发到github上面的canal官方厂库的issue去找一下,看有没有解决的方法,我就是这么解决的,
官方的issue如下 ,直接上搜索问题即可。
Issues · alibaba/canal · GitHub
我是经过这些 我是成功部署并且监听到了mysql的变化,有问题可以留言,大家一起进步