Canal安装与使用教程 Canal 是一个基于 MySQL 数据库增量日志解析的工具,提供增量数据订阅和消费。 Canal 的主要用途包括数据库镜像、数据库实时备份、索引构建和实时维护、业务缓存刷新、带业务逻辑的增量数据处理等。 Canal 工作原理 Canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave,向 MySQL master 发送 dump 协议。 MySQL master 收到 dump 请求,开始推送 binary log 给 slave(即 Canal)。 Canal 解析 binary log 对象(原始为 byte 流)。 MySQL Binlog 介绍 Binlog, 即二进制日志,记录了数据库上的所有改变,并以二进制的形式保存在磁盘中。它可以用来查看数据库的变更历史、数据库增量备份和恢复、Mysql 的复制(主从数据库的复制)。 Binlog 格式 Binlog 有三种格式:statement、row 以及 mixed,默认使用 statement,建议使用 row 格式。 * Statement:语句级别,记录执行的 DDL 及 DML 语句。优点:不需要记录每一行的变化,减少了 binlog 日志量,节约了 IO,提高性能。缺点:主从复制情况下可能会导致主备不一致(例如 now() 函数)。 * Row:行级别,用行的形式记录执行的 DDL 及 DML。优点:数据一致性高。缺点:性能略低于语句级别。 * Mixed:混合级别,在 Mixed 模式下,一般的语句修改使用 statment 格式保存 binlog,如一些函数,statement 无法完成主从复制的操作,则采用 row 格式保存 binlog。 Binlog 开启与查看 查看是否开启 binlog:show variables like 'log_bin'。备注:value=ON 表示 binlog 日志开启,若 value=OFF 表示没有开启,需要以下操作开启 binlog。 安装 1. 开启 binlog(row 模式) 查看 binlog 是否开启,如果未开启,则修改 my.cnf 开启 binlog。 2. 准备同步权限的用户 授权 canal 链接 MySQL 账号具有作为 MySQL slave 的权限,如果已有账户可直接 CREATE USER canal IDENTIFIED BY 'canal'; GRANT SELECT,RELOAD,REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%'; FLUSH PRIVILEGES; Canal 总体架构 Canal 的总体架构包括 Admin、Deployer、Adapter 三个部分。 * Admin(canal-admin):通过图形化界面管理配置参数;动态启停 Server 和 Instance;查看日志信息。 * Deployer(canal-deployer):伪装成 MySQL 的从库,同步主库的 binlog 日志;解析并结构化 binary log 对象。 * Adapter(canal-adapter):对接上游消息,包括 kafka、rocketmq、canal-server;实现 mysql 到 mysql 的实时同步。 Mysql To Mysql 实时同步 Canal 提供了 mysql 到 mysql 的实时同步功能,包括全量数据导出、增量数据同步等。关闭 canal-server(canal.deployer),canal-client(canal.adapter)服务,然后修改 example instance 的配置。
剩余10页未读,继续阅读
- 粉丝: 3
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于树莓派的寝室智能监控系统(毕业设计项目源码+论文).zip
- 教学系统-基于QT框架的多媒体教学系统教师端应用开发源码+设计报告.zip
- 网络技术挑战赛ACL访问控制可视化项目实现源码及完整资料.zip
- 基于百度AI和QT的人脸识别考勤系统开发源码+设计报告资料.zip
- 2020全国大学生信息安全作品赛安卓参赛项目源码+全部资料.zip
- 唐都仪器WND66电子琴课程设计项目(微机电原理实验平台).zip
- 基于Python和Django的自动化测试管理系统(含源码与说明).zip
- 技术面试知识点汇总(多语言与工具:Android、Java、C等).zip
- 基于 Python Django 的自动化测试平台开发(含源码与说明).zip
- 金融数据分析专用功能库(支持股票行情回放与量化分析).zip
- 毕设-Python-源码-51商城1.zip
- linke下载安装包1111111
- MFC小游戏九:错误处理界面
- 毕设-Python-源码-BBS问答社区3.zip
- A096-基于Java的智慧校园管理系统
- Mathscript2018安装包