文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Cannal初体验:使用Docker安装Canal详细流程说明

2023-10-01 20:07

关注

文章目录


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=1log-bin=/var/lib/mysql/mysql-binbinlog-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;

②效果如下
创建canal数据库用户

3.拉取Cannal镜像

## 拉取版本为v1.1.5的canaldocker 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.propertiesinstance.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配置文件进行拷贝

# canal.properties & instance.properties# 注意,instance.properties文件是在canal.destinations这个配置指定的目录作为前缀下面docker cp canal:/home/admin/canal-server/conf/canal.properties /mydata/canal/confdocker cp canal:/home/admin/canal-server/conf/test/instance.properties /mydata/canal/conf

②根据个人需要修改配置之后,将原有的canal容器停止并删除,然后重新启动的时候使用-v进行文件绑定,进行文件绑定时务必确保文件是存在的。

# 停止并删除容器docker stop canaldocker 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

来源地址:https://blog.csdn.net/Jz_Stu/article/details/129329206

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯