安装Canal

news/2025/4/3 2:35:09/文章来源:https://www.cnblogs.com/chenjiabin/p/18804971

安装和配置Canal

下面我们就开启mysql的主从同步机制,让Canal来模拟salve

1.开启MySQL主从

Canal是基于MySQL的主从同步功能,因此必须先开启MySQL的主从功能才可以。

这里以之前用Docker运行的mysql为例:

1.1.开启binlog

打开mysql容器挂载的日志文件,我的在/tmp/mysql/conf目录:

image-20210813153241537

修改文件:

vi /tmp/mysql/conf/my.cnf

添加内容:

log-bin=/var/lib/mysql/mysql-bin
binlog-do-db=heima

配置解读:

  • log-bin=/var/lib/mysql/mysql-bin:设置binary log文件的存放地址和文件名,叫做mysql-bin
  • binlog-do-db=heima:指定对哪个database记录binary log events,这里记录heima这个库

最终效果:

[mysqld]
skip-name-resolve
character_set_server=utf8
datadir=/var/lib/mysql
server-id=1000
log-bin=/var/lib/mysql/mysql-bin
binlog-do-db=heima

1.2.设置用户权限

接下来添加一个仅用于数据同步的账户,出于安全考虑,这里仅提供对heima这个库的操作权限。

create user canal@'%' IDENTIFIED by 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SUPER ON *.* TO 'canal'@'%' identified by 'canal';
FLUSH PRIVILEGES;

重启mysql容器即可

docker restart mysql

测试设置是否成功:在mysql控制台,或者Navicat中,输入命令:

show master status;

image-20200327094735948

2.安装Canal

2.1.创建网络

我们需要创建一个网络,将MySQL、Canal、MQ放到同一个Docker网络中:

docker network create heima

让mysql加入这个网络:

docker network connect heima mysql

2.3.安装Canal

课前资料中提供了canal的镜像压缩包:

image-20210813161804292

大家可以上传到虚拟机,然后通过命令导入:

docker load -i canal.tar

然后运行命令创建Canal容器:

docker run -p 11111:11111 --name canal \
-e canal.destinations=heima \
-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=heima\\..* \
--network heima \
-d canal/canal-server:v1.1.5

说明:

  • -p 11111:11111:这是canal的默认监听端口
  • -e canal.instance.master.address=mysql:3306:数据库地址和端口,如果不知道mysql容器地址,可以通过docker inspect 容器id来查看
  • -e canal.instance.dbUsername=canal:数据库用户名
  • -e canal.instance.dbPassword=canal :数据库密码
  • -e canal.instance.filter.regex=:要监听的表名称

表名称监听支持的语法:

mysql 数据解析关注的表,Perl正则表达式.
多个正则之间以逗号(,)分隔,转义符需要双斜杠(\\) 
常见例子:
1.  所有表:.*   or  .*\\..*
2.  canal schema下所有表: canal\\..*
3.  canal下的以canal打头的表:canal\\.canal.*
4.  canal schema下的一张表:canal.test1
5.  多个规则组合使用然后以逗号隔开:canal\\..*,mysql.test1,mysql.test2 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/909696.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

团队项目

项目 内容这个作业属于哪个课程 软件工程这个作业要求在哪里 作业要求这个作业的目标 学习团队项目协作开发过程🚀团队展示 一、团队组成 队名:404 Not Found 成员组成:姓名 学号周戈 3123004164张荣辉 3123004162杨超民 3123004161饶博勋 3123004152李永胜 3123004148陈曦…

XN2025 集训记录 D11

那是家 , 是雪花飘飘的黑夜里沉默的足迹 , 是背后路灯的鹅黄色的光 . 只不过这个冬夜虽然温暖 , 前面的路还在等待 .XN2025 集训记录 D11 今天就进入四月份了啊 ... 回顾这一个月 , 应该总还是是有一定的进步的 , 当然这个东西比较不可量化 . 感觉上模拟赛的思路是对的 , 不用担…

20244208 2024-2025-2 《Python程序设计》实验二报告

20244208 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2442 姓名: 王子骞 学号:20244208 实验教师:王志强 实验日期:2025年4月1日 必修/选修: 专选课 1.实验内容 设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。 考核…

a16z合伙人:语音交互将成为AI应用公司最强大的突破口之一,巨头们在B2C市场已落后太多丨Voice Agent 学习笔记

如果你愿意花些时间调研语音 AI 行业,大概率会碰到 Olivia Moore。她主笔了两次 a16z 关于语音 AI 行业的 分析报告 ,投资的语音项目如 ElevenLabs、Sesame 等都是行业明星。这次播客访谈中,她和 a16z 另外一位合伙人 Anish Acharya 分享了他们对语音 AI 市场的最新观察和分…

20244226 实验二《Python程序设计》实验报告

20244226 2024-2025-2 《Python程序设计》实验2报告 课程:《Python程序设计》 班级: 2442 姓名: 张毓格 学号:20244226 实验教师:王志强 实验日期:2025年4月1日 必修/选修: 公选课 1.实验内容 (1)设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善;…

20244111 实验二《Python程序设计》实验报告

学号 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2441 姓名: 韩金婕 学号:20244111 实验教师:王志强 实验日期:2025年4月1日 必修/选修: 公选课 1.实验内容 设计并完成一个完整的应用程序,完成加减乘除模阶乘等运算,功能多多益善。通过…

20244112 实验二《Python程序设计》实验报告

20244112 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2441 姓名: 李其鲔 学号:20244112 实验教师:王志强 实验日期:2025年4月1日 必修/选修: 公选课 1.实验内容 (1)设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善;…

20244102 2024-2025-2 《Python程序设计》实验二报告

20244102 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2441 姓名: 丁可 学号:20244102 实验教师:王志强 实验日期:2025年4月1日 必修/选修: 公选课 一、实验内容 1.设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。二…

20242207 实验二 《Python程序设计》实验报告

20242207 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2422 姓名: 赵泓睿 学号: 20242207 实验教师:王志强 实验日期:2025年3月26日 必修/选修: 公选课 1.实验内容 1.设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。…

高一下四月日记

云海翻涌,尘世如歌;人间烟火常驻,心中超然长留。低眉俯瞰凡世间,存梦幻歌凭云处。4.1 闲话 做题纪要 luogu P1175 表达式的转换开两个栈辅助建后缀表达式。点击查看代码 char s[110]; deque<char>s1,s2; deque<int>s3; int val(char x) {if(x==() return 0;if(…

进阶图论

进阶图论 I. 割点与桥 首先,我们得了解割点的含义 割点对于一个无向图,如果把一个点删除后这个图的极大连通分量数增加了,那么这个点就是这个图的割点(又称割顶)。通俗点说,就是连接两个或多个连通分量的公共点。 如何求割点呢,这里引用一个算法:Ttarjan 定义 dfn[i] 为…

URAT协议自学笔记

定义 URAT(Universal Asynchronous Receiver/Transmitter)协议是一种通用异步收发传输协议,用于在两个设备之间进行串行数据通信。它将并行数据转换为串行数据进行传输,接收时再将串行数据转换为并行数据。 特点 异步通信:不需要共享时钟信号,通过波特率同步数据传输。 全…