营销型网站开发定制,公众号平台登陆入口,机械加工网怎么发布信息,化学网站定制一、简介 Canal主要用途是基于 MySQL 数据库增量日志解析#xff0c;提供增量数据订阅和消费。 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x
二、工作原理
MySQL主备复制原理
MySQL master 将数据变更写入二进制日志( binary log, 其中记…一、简介 Canal主要用途是基于 MySQL 数据库增量日志解析提供增量数据订阅和消费。 当前的 canal 支持源端 MySQL 版本包括 5.1.x , 5.5.x , 5.6.x , 5.7.x , 8.0.x
二、工作原理
MySQL主备复制原理
MySQL master 将数据变更写入二进制日志( binary log, 其中记录叫做二进制日志事件binary log events可以通过 show binlog events 进行查看) MySQL slave 将 master 的 binary log events 拷贝到它的中继日志(relay log) MySQL slave 重放 relay log 中事件将数据变更反映它自己的数据 canal 工作原理 canal 模拟 MySQL slave 的交互协议伪装自己为 MySQL slave 向 MySQL master 发送dump 协议 MySQL master 收到 dump 请求开始推送 binary log 给 slave (即 canal ) canal 解析 binary log 对象(原始为 byte 流) 三、准备安装包 下载地址我使用的是1.1.6版本 https://github.com/alibaba/canal/releases/tag/canal-1.1.6 国内的话可以在绿色聊天软件搜索程序员朱永胜 关注回复1006领取安装包不限速下载 deployer包服务包 admin包UI管理系统需要的话可以下载 adapter包官方提供的客户端可以实现自动同步 四、启动Canal服务 4.1 下载 最简单的使用我们只需要安装deplyee包即可其他的不需要 4.2 新增用户并授权 4.3 配置文件修改 4.3.1 canal.properties 这个配置文件默认即可无需修改配置 4.3.2 instance.properties 修改mysql地址要确保已经配置了账号密码并授权 4.4 启动 4.5 确认启动成功 五、安装依赖 dependenciesdependencygroupIdcom.alibaba.otter/groupIdartifactIdcanal.client/artifactIdversion1.1.4/version/dependency
/dependencies 六、运行效果 由于代码比较长我放到最后了这里先说下效果。 代码启动后我们只需要变更任意表里面的数据即可看到控制台打印内容。 数据很清晰有具体的数据库表操作类型以及字段及修改的值。 到这里基本就算结束了后续就是根据业务自己推送到ES中。当然也可以使用官方的adapter推送到ES中。 七、编写客户端代码 测试代码官网地址https://github.com/alibaba/canal/blob/master/example/src/main/java/com/alibaba/otter/canal/example/AbstractCanalClientTest.java 国内的话可以在绿色聊天软件搜索程序员朱永胜 关注回复1007领取代码不限速下载 6.1 BaseCanalClientTest 6.2 SimpleCanalClientTest 6.3 AbstractCanalClientTest