Canal的入门操作记录

news2024/11/16 17:33:56

文章目录

  • 1.主从数据库同步原理
  • 2.canal使用步骤
    • 2.1 开启binlog
    • 2.2 配置canal
      • canal.properties
      • instance.properties
      • 区别
  • 3.创建Canal用户
  • 4.取信息
  • 5.SpringBoot整合

canal其实就是假装自己是从数据库,来监听主数据库的binlog得到数据的变化信息

canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议
MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )
canal 解析 binary log 对象(原始为 byte 流)

1.主从数据库同步原理

在这里插入图片描述

2.canal使用步骤

2.1 开启binlog

[mysqld]
log-bin=mysql-bin # 开启 binlog
binlog-format=ROW # 选择 ROW 模式
server_id=1
 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复

2.2 配置canal

canal.properties

  1. canal.ip:Canal Server所在机器的IP地址。
  2. canal.port:Canal Server监听的端口号。
  3. canal.destinations:指定需要同步的数据库实例名称,可以配置多个,以逗号分隔。
  4. canal.instance.master.address:MySQL主库的地址。
  5. canal.instance.master.journal.name:MySQL主库的binlog文件名。
  6. canal.instance.dbUsername:MySQL连接的用户名。
  7. canal.instance.dbPassword:MySQL连接的密码。

instance.properties

  1. canal.instance.mysql.slaveId:MySQL 从库的ID,用于标识不同的从库。
  2. canal.instance.master.address:MySQL 主库的地址
  3. canal.serverMode = tcp Canal 服务的模式,还有xxxMQ形式。

区别

  1. canal.properties:通常包含了全局性的配置项,适用于整个 Canal 服务实例。这些配置项会影响到 Canal 服务的整体行为,比如监听端口、IP 地址等。

  2. instance.properties:包含了特定数据库实例的配置信息,主要用于配置与该数据库实例相关的参数,如主从库地址、用户名密码、binlog 文件位置等。这些配置项是针对具体的数据库实例进行设置的,用于指定数据同步的源头。

3.创建Canal用户

CREATE USER canal IDENTIFIED BY 'canal';  
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;

4.取信息

在这里插入图片描述

5.SpringBoot整合

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字化运营在教育行业的技术架构实践总结

随着科技的不断进步和数字化时代的到来,教育行业也正面临着数字化转型的挑战和机遇。教育行业的数字化运营需要依靠合理的技术架构来支撑,本文将探讨教育行业数字化运营的技术架构设计。 ## 第一步:需求分析和架构设计 在构建教育行业数字化…

VScode的列选

可以用来优化代码排布,让变量整齐成为一排 一、批量复制: 在1处左键单击,然后摁住SHIFTALT键的同时,左键单击2处,即可复制一整块的内容 如果所示 就可以复制了 二、批量输入 在1处左键单击,然后摁住SHI…

STM32单片机基本原理与应用(十一)

语音识别实验 此实验采用STM32核心板 LD3320模块,通过初始化LD3320并写入待识别关键词,对麦克风说出相应关键词,实现实训平台上的流水灯相应变化的效果。 LD3320 是一颗基于非特定人语音识别 (SI-ASR:Speaker-Indepen…

新版ui周易测算网站H5源码/在线起名网站源码/运势测算网站系统源码,附带系统搭建教程

支持对接第三方支付 安装方法以linux为例 1、建议在服务器上面安装宝塔面板,以便操作,高逼格技术员可以忽略这步操作。 2、把安装包文件解压到根目录,同时建立数据库,把数据文件导入数据库 3、修改核心文件config/inc_config.…

【LeetCode每日一题】299. 猜数字游戏

文章目录 [299. 猜数字游戏](https://leetcode.cn/problems/bulls-and-cows/)思路:代码: 299. 猜数字游戏 思路: 遍历两个字符串 secret 和 guess,若字符既在相同位置上又相等,则位置和数字都正确,对应的 …

uniapp隐藏状态栏并强制横屏

uniapp隐藏状态栏并强制横屏 1.manifest.json中: "screenOrientation": ["landscape-primary", //可选,字符串类型,支持横屏"landscape-secondary" //可选,字符串类型,支持反向横屏]…

力扣--76. 最小覆盖子串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如…

vscode插件-TONGYILingma

通义灵码,是一款基于通义大模型的智能编码辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云 SDK/API 的使用场景调优,为开发者带来高…

深度学习:推动可持续发展与社会责任的创新引擎!

随着科技的飞速发展和全球化的推进,可持续发展和社会责任逐渐成为各个领域关注的焦点。深度学习作为人工智能的重要分支,在可持续发展和社会责任方面发挥着越来越重要的作用。本文旨在探讨深度学习在环境保护、资源利用、犯罪预防和残障人士辅助等领域的…

鸿蒙视频播放的实现

文章目录 前言播放效果视频播放的实现总结 一、前言 现在市面上很多应用都跟视频有关,那么在鸿蒙系统上怎么来播放视频呢,今天就讲解视频播放控件,让你也能快速地进行视频播放功能开发。 最后呢,我会提供一个鸿蒙中涉及的主要…

16. 获取社区详情

文章目录 一、建表、插入测试数据、并生成对应的model二、添加路由,以及controller、logic、dao三层分别实现对应代码三、编译运行 登录之后,我们可以发表帖子,但是发表帖子之前,需要先选择一个频道,可以理解是社区分类…

USB协议学习(三)大容量存储设备SCSI协议分析

笔者来简单介绍一下SCSI得协议命令 1、SCSI协议认识 SCSI:Small Computer System Interface,用于计算机外部设备得接口标准,定义了与外部设备得一套协议。SCSI标准协议族支持很多钟SCSI设备,像盘,打印机,扫…

算法-双指针、BFS与图论-1224. 交换瓶子

题目 思路 可以交换任意两个瓶子,最多n-1次;如果是只能交换相邻的瓶子,那么相当于逆序对的个数(这篇博客是介绍如何计算逆序对的算法:算法篇:逆序对_逆序对算法-CSDN博客)本题转换为图论去看:边…

【C++】类和对象(六个默认成员函数)

文章目录 类的六个默认成员函数**构造函数****构造函数的目的****构造函数的特性** 析构函数析构函数概念析构函数处理的顺序析构函数清理细节 拷贝构造函数拷贝构造函数典型调用场景 赋值运算符重载运算符重载赋值运算重载前置和后置 重载 const成员函数再提权限的问题: 取地址…

HAproxy反向代理与负载均衡

目录 一、HAproxy介绍 1. 概述 2. 关于4/7层负载均衡 2.1 无负载均衡 2.1.1 图示 2.1.2 说明 2.2 四层负载均衡 2.2.1 图示 2.2.2 说明 2.3 七层负载 2.3.1 图示 2.3.2 说明 3. 特性 4. HAProxy负载均衡常见策略 5. 处理模式 二、HAproxy安装 1. yum安装 2. 第…

文献阅读笔记:全卷积神经网络

文献阅读笔记:全卷积神经网络 摘要Abstract1. 全卷积神经网络1.1 文献摘要1.2 全卷积神经网络1.2.1 网络结构1.2.0 从分类器到密集 FCN1.2.2 上采样 Upsampling1.2.3 跳级结构1.2.4 FCN训练 1.3 实验1.4 总结 2. 代码实现 摘要 本周学习了全卷积神经网络&#xff0…

模板不存在:./Application/Home/View/OnContact/Index.html 错误位置

模板不存在:./Application/Home/View/OnContact/Index.html 错误位置FILE: /home/huimingdedhpucixmaihndged5e/wwwroot/ThinkPHP123/Library/Think/View.class.php  LINE: 110 TRACE#0 /home/huimingdedhpucixmaihndged5e/wwwroot/ThinkPHP123/Library/Think/View.class.php(…

关于迁移数据库的一些问题

开发人员,并且需要将数据库迁移到另一个分库,尽量采取以下步骤: 备份源数据库: 在进行任何操作之前,首先要确保对源数据库进行备份,以防止意外数据丢失或损坏。 创建目标分库: 在目标数据库服务…

mockjs学习

1.前言 最近面试发现之前团队协同合作的项目没有mock数据难以向面试官直接展示,所以迟到得来速学一下mockjs。 参考视频:mockJs 妈妈再也不用担心我没有后端接口啦_哔哩哔哩_bilibili 一开始查阅了一些资料,先是看了下EasyMock&#xff0c…

windows安装ElasticSearch踩坑记

ElasticSearch是一个开源的分布式搜索和分析引擎。它提供实时分布式搜索功能,可以索引和搜索大量的结构化和非结构化数据。Elasticsearch以其速度、可伸缩性和处理复杂查询的能力而闻名。它常用于日志分析、全文搜索、文档搜索和数据分析等领域。使用ElasticSearch的…