一、下载和安装
#服务端(监听)
wget https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.deployer-1.1.6.tar.gz
#客户端(调用端)
wget https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.adapter-1.1.6.tar.gz
#可视化界面
https://github.com/alibaba/canal/releases/download/canal-1.1.6/canal.admin-1.1.6.tar.gz
二、canal的工作原理
1、mysql的主从复制过程
- Master主库将改变记录、写到二进制日志binlog中
- Slaver从库向MysqlMaster发送dump协议,将master主库的binary log events拷贝到中继日志(relay log)
- Salver读取并重做中继日志中的事件,将改变的数据同步到自己的数据库
2、canal工作原理
伪装成slaver,从master复制数据
3、使用场景
canal是阿里otter(阿里用于异步数据库之间的同步框架)的一部分
常用场景1:更新缓存
常用场景2:抓取业务表的增量变化(同步数据到另外一个数据库中)
三、mysql开启binlog日志
vim /etc/mysql/my.cnf
server-id=1
# 指定binlog日志存储位置
log-bin=/var/lib/mysql/mysql-bin
# 开启GTID模式
gtid-mode=ON
# 设置主从强一致性
enforce-gtid-consistency=1
# 记录日志
log-slave-updates=1
binlog_format=ROW
#binlog-do-db 具体要同步的数

该博客介绍了如何使用Canal从MySQL主库实时同步数据到其他数据库或应用。首先,通过wget下载Canal的服务端、客户端和可视化界面安装包。接着,详细解释了MySQL的主从复制原理和Canal的工作机制。然后,展示了如何在MySQL中开启binlog日志,并配置Canal的canal.properties和instance.properties文件。最后,演示了Canal-adapter的配置,用于数据同步,并通过canal-admin进行可视化管理。整个流程覆盖了Canal的下载、安装、配置及使用,实现了数据的高效同步。

2269

被折叠的 条评论
为什么被折叠?



