Canal的入门操作记录

文章目录

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

yaml 复制代码
[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用户

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

4.取信息

5.SpringBoot整合

相关推荐
zdl6863 分钟前
MSSQL2022的一个错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序
数据库·microsoft
gechunlian8818 分钟前
MySQL - Navicat自动备份MySQL数据
android·数据库·mysql
u868825 分钟前
大模型呼叫中心助力物业报修自动化
运维·数据库·自动化
zhenxin012227 分钟前
5、使用 pgAdmin4 图形化创建和管理 PostgreSQL 数据库
数据库·postgresql
keyborad pianist29 分钟前
MySQl
数据库·mysql·oracle
不知名。。。。。。。。31 分钟前
5、MySQL表的约束
数据库·mysql
乐之者v32 分钟前
DataGrip数据导入导出
数据库
知识分享小能手39 分钟前
MongoDB入门学习教程,从入门到精通,MongoDB事务知识点梳理(8)
数据库·学习·mongodb
LaughingZhu41 分钟前
Product Hunt 每日热榜 | 2026-03-29
数据库·人工智能·经验分享·神经网络·chatgpt
jialan751 小时前
不干胶管理
大数据·数据库