Cannal安装步骤
此次安装命令皆是以管理员身份运行
1.通过docker创建一个新网络
①创建名为mysql-test的网络
docker network create mysql-test
#查询创建的网络信息
docker network ls
#查询当前网络的信息
docker network inspect mysql-test
②让mysql加入此网络
docker network connect mysql-test mysql
2.mysql相关
2.1 开启mysql主从配置
1、修改配置文件
打开mysql挂载目录下( /mydata/mysql/conf )的 my.cnf 配置文件,添加以下配置
# start binlog
server-id=1
log-bin=/var/lib/mysql/mysql-bin
binlog-do-db=test
配置解读:
① server-id :指定当前服务的id,必须指定,否则会报错
② log-bin :设置binlog文件的存放地址和文件名,叫做mysql-bin,此处指定的目录前缀是mysql容器的数据存放目录,所以可以在挂载目录中看到相关的文件,命名格式是mysql-bin.000001开始慢慢叠加
③ binlog-do-db :指定针对哪个数据库记录binlog的events事件,此处记录test库
2、重启mysql
docker restart mysql
2.2 新建canal用户并设置权限
①创建canal专用用户,进行权限隔离
create user canal@'%' IDENTIFIED by 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%' identified by 'canal';
FLUSH PRIVILEGES;
②效果如下
3.拉取Cannal镜像
## 拉取版本为v1.1.5的canal
docker pull canal/canal-server:v1.1.5
4.运行Canal
4.1、启动命令
docker run -p 11111:11111 --name canal \
-e canal.destinations=test \
-e canal.instance.master.address=mysql:3306 \
-e canal.instance.dbUsername=canal \
-e canal.instance.dbPassword=canal \
-e canal.instance.connectionCharset=UTF-8 \
-e canal.instance.tsdb.enable=true \
-e canal.instance.gtidon=false \
-e canal.instance.filter.regex=test\\..* \
--network mysql-test \
--restart=always \
-d canal/canal-server:v1.1.5
启动命令说明:
4.2、命令解读
① -p :指定端口
② -e :指定配置文件的配置信息。此处主要有两个配置文件在起作用,分别是 canal.properties 和 instance.properties 这两个配置文件,前缀是 canal. 的修改就是 canal.properties 这个配置文件的,前缀是 canal.instance 修改的就是 instance.properties 这个配置文件的
③ canal.destinations:指定了实例的名称,决定了instance实例的配置文件存放目录
④ canal.instance.master.address :指定了mysql的地址,正常需要ip,此处由于会将mysql和canal放在一个网络中,所以可以直接使用mysql替代
⑤ canal.instance.filter.regex:此处指定只过滤test这个数据库的binlog数据
⑥ network mysql-test:指定网络是步骤1创建的网络
⑦ restart=always :将canal设置为docker启动时自启,可要可不要
⑧ -d :指定步骤2拉取的镜像名称以及版本
4.3、查看容器状态
# 查看启动日志
docker logs canal
# 查看目前运行容器
docker ps
# 启动失败时查看容器状态
docker ps -a
4.4、相关配置调整(可做可不做)
①将canal配置文件进行拷贝文章来源:https://www.toymoban.com/news/detail-535290.html
# canal.properties & instance.properties
# 注意,instance.properties文件是在canal.destinations这个配置指定的目录作为前缀下面
docker cp canal:/home/admin/canal-server/conf/canal.properties /mydata/canal/conf
docker cp canal:/home/admin/canal-server/conf/test/instance.properties /mydata/canal/conf
②根据个人需要修改配置之后,将原有的canal容器停止并删除,然后重新启动的时候使用-v进行文件绑定,进行文件绑定时务必确保文件是存在的。文章来源地址https://www.toymoban.com/news/detail-535290.html
# 停止并删除容器
docker stop canal
docker rm canal
#重新运行并指定
docker run -p 11111:11111 --name canal \
-e canal.destinations=test \
-e canal.instance.master.address=mysql:3306 \
-e canal.instance.dbUsername=canal \
-e canal.instance.dbPassword=canal \
-e canal.instance.connectionCharset=UTF-8 \
-e canal.instance.tsdb.enable=true \
-e canal.instance.gtidon=false \
-e canal.instance.filter.regex=test\\..* \
-v /mydata/canal/conf/canal.properties:/home/admin/canal-server/conf/canal.properties \
-v /mydata/canal/conf/instance.properties:/home/admin/canal-server/conf/test/instance.properties \
--network mysql-test \
--restart=always \
-d canal/canal-server:v1.1.5
到了这里,关于Cannal初体验:使用Docker安装Canal详细流程说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!