CANAL同步RDB实验(1)

CANAL是一个开源项目,用于数据库增量数据订阅和消费,主要支持MySQL。它通过解析二进制日志实现增量同步,适用于数据库镜像、实时备份、索引构建和缓存刷新等场景。文章详细介绍了CANAL的工作原理和MySQL主从复制机制,并提供了CANAL的组件如canal-admin、canal-deployer和canal-adapter的安装配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、CANAL 简介

canalAlibaba旗下的一款开源项目,Java开发.它是基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持mysql

应用场景

canal的数据同步不是全量的,而是增量。基于binary log增量订阅和消费,canal可以做:

  • 数据库镜像
  • 数据库实时备份
  • 索引构建和实时维护
  • 业务cache(缓存)刷新

具体业务场景

  • 数据同步,比如:做在线、离线数据库之间的数据同步操作;
  • 数据消费,比如:需要根据关注的数据库表的变化,做搜索增量;
  • 数据脱敏,比如:需要将线上动态数据导入到其他地方,做数据脱敏。

Mysql主从复制原理

MySQL的master将写入二进制日志(binary log,可以通过show binlog events进行查看)

MySQL的slave将master的binary log events拷贝到它的中继日志(relay log)

MySQL的slave重放relay log中的事件,将数据变更反映到它自己的数据库中

Canal工作原理

canal实际上是把自己模拟成了MySQL的slave,向MySQL master发送dump协议

MySQL master收到dump请求后,开始推送自己的binary log给slave,也就是canal

canal解析binary log对象(原始为 byte 流)

本文档介绍单canal server 同步数据到rdb的方法

同步逻辑:src_mysql(172.16.134.24) <-> canal-deploy <-> client-adapter <-> dest_mysql(172.16.134.25)

二、Cancal 各个组件用途及介绍

2.1 组件介绍

canal-deploy:可将其看做canal server。它负责伪装成mysql从库,接收、解析binlog并投递(不做处理)到指定的目标端(RDS、MQ 或 canal adapter)

canal-adapter:是canal的客户端适配器,可将其看作canal client。能够直接将canal同步的数据写入到目标数据库(hbase,rdb,es),

rdb是关系型数据库比如MySQL、Oracle、PostgresSQL和SQLServer等,比较的快捷方便。

canal-admin:为canal提供整体配置管理、节点运维等面向运维的功能,提供相对友好的WebUI操作界面,方便更多用户快速和安全的操作。

三、Cancal 各个组件安装配置

3.1 Canal-admin 的安装

1、数据库创建用户

create user canal identified with mysql_native_password by 'canal';

grant all privileges on *.* to 'canal'@'%';

flush privileges;

2、下载并解压

wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.admin-1.1.5.tar.gz

cd /u01/canal-admin

tar –zxvf  canal.admin-1.1.5.tar.gz

3、初始化原数据

mysql -uroot -proot -S /u01/mysql3310/data/mysql.sock

mysql> source /u01/canal-admin/conf/canal_manager.sql

4、修改配置文件

vi u01/canal-admin/conf/application.yml

5、启动canal-admin

cd /u01/canal-admin/bin

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秒变学霸的18岁码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值