使用 Cloud Canal 将 MySQL数据同步至 ElasticSearch 项目版本与运行环境JDK 版本21操作系统Windows 11虚拟机系统 AnolisOS_Mini_8.10MySQL 版本8.4.5ElasticSearch 版本8.18.8Cloud Canal 版本6.2.0.1配置环境安装 Cloud CanalCloud Canal 官网安装教程点击进入后按要求先在虚拟机上安装 Docker 或 Docker Compose安装完毕后在虚拟机上运行以下命令curl-fsSLhttps://tgzdownload.clougence.com/support/install_on_docker.sh|bash-s--6.2.0.1 ./cc_home当出现以下内容时代表 Cloud Canal 已经安装成功███████╗██╗ ██╗ ██████╗ ██████╗███████╗███████╗███████╗ ██╔════╝██║ ██║██╔════╝██╔════╝██╔════╝██╔════╝██╔════╝ ███████╗██║ ██║██║ ██║ █████╗ ███████╗███████╗ ╚════██║██║ ██║██║ ██║ ██╔══╝ ╚════██║╚════██║ ███████║╚██████╔╝╚██████╗╚██████╗███████╗███████║███████║ ╚══════╝ ╚═════╝ ╚═════╝ ╚═════╝╚══════╝╚══════╝╚══════╝ CloudCanalforDocker is ready!visit console http://{ip}:8111inan web explorer and have fun:)随后使用当前虚拟机的 IP 地址加上端口号进行访问http://{虚拟机 IP 地址}:8111示例http://192.168.200.131:8111进入后输入账号和密码默认账号testcloudgence.com默认密码clougence2021若有需要进行密码修改可参考此链接内容Cloud Canal - 修改密码登陆完成后点击同步设置可看到当前已有集群下的机器若后续有需要新增机器的可点击机器列表点击新增机器详细步骤可见Cloud Canal - 添加机器修改 MySQL 和 ElasticSearch 配置文件因为博主的 MySQL 和 ElasticSearch 都在本地电脑上运行所以在添加数据源前需要对 MySQL 和 ElasticSearch 的配置文件做部分修改。MySQL 配置文件修改首先找到本地 MySQL 的安装根目录找到my.ini文件对其中的内容做部分修改如果没有这些配置信息那就追加# 将 binlog 记录格式设置为行模式。记录每一行数据的实际变更而非 SQL 语句本身。binlog_formatROW# 在 ROW 格式下记录变更前和变更后的所有列的完整数据。确保消费端能获取完整的行快照避免部分更新导致的数据不一致。binlog_row_imageFULL# 允许 MySQL 监听所有网络接口接受来自任意 IP 的连接。bind-address0.0.0.0博主这里使用bind-address 0.0.0.0主要用于测试开发且机器都在本地电脑运行若是部署在生产环境上请勿模仿修改完 my.ini 文件后需要重新启动 MySQL 应用新配置的设置在服务中找到 MySQL 选择重启动。重新启动完后需创建一个账户用于 Cloud Canal 认证连接。CloudCanal 所需的 MySQL 账号权限-- 1. 创建用户注意密码需自行设置CREATEUSERcloudcanal%IDENTIFIEDBYstrong_password_here;-- 2. 授予仅 SELECT、REPLICATION SLAVE 和 REPLICATION CLIENT 权限GRANTSELECT,REPLICATIONSLAVE,REPLICATIONCLIENTON*.*TOcloudcanal%;-- 3. 刷新权限FLUSHPRIVILEGES;用户创建完毕后即可在 Cloud Canal 中配置 MySQL 数据源了ElasticSearch 配置修改找到 ElasticSearch 的安装根目录下的 config 文件夹打开elasticsearch.yml将信息修改为红框中示例没有信息就追加信息设为 0.0.0.0 的意义与 MySQL 一致为了虚拟机中的 Cloud Canal 可以连接到。设置完毕后重启 ElasticSearch配置数据源点击数据源管理点击新增数据源。配置 MySQL选择自建若有云服务的数据库可按需选择其他选择 MySQL环境保持默认。网络地址选择内网IP 地址填写电脑本机 IP若不知道自己电脑的本机 IP 可使用以下命令在 powershell 中查看ipconfig这是博主自己电脑的 IP 地址端口保持默认有变动的按自己 MySQL 中的端口来设置认证方式选择账号密码填写之前所设置的专用账号密码随后点击测试连接确保连接成功。其余设置保持默认点击下面的新增数据源按钮。返回数据源管理页面出现刚刚配置的数据源即代表配置成功。配置 ElasticSearch现在重复点击新增数据源选择 ElasticSearch一样根据自己的 IP 进行配置由于博主使用的是 ElasticSearch 8.18.8 版本此版本的 ElasticSearch 以默认开启安全鉴权模式且已经自动生成了 CA 证书所以此处选择使用 CA 证书模式登录输入 ElasticSearch 的账号密码并上传已生成的 CA 证书并开启 HTTPS设置完毕后点击添加数据源。添加完毕后依然测试连接查看是否连接成功连接成功后便可配置同步任务。配置同步任务1.源目标设置点击同步任务新增任务。源类型选择 MySQL目标类型选择 ElasticSearch代表意思从 MySQL 将数据同步至 ElasticSearch。左侧是源类型配置右侧是目标类型配置网络类型都选择内网实例选择刚刚创建的 MySQL 实例和 ElasticSearch 实例字符集 MySQL 根据你的创建数据库时选择的字符集来进行选择ElasticSearch 选择 utf8。时区选择 8。两个配置完后都需要点击测试连接。当 MySQL 测试连接通过后在左侧最下面选择需要同步去 ElasticSearch 的数据库。选择完毕后点击下一步。2.功能配置如果没有特殊需求所有保持不动即可在任务描述里可编写当前任务是 xx库.xx表 同步至 ES 的 xx 索引。高级配置里的配置不进行改动。3.表action过滤勾选需要同步的表并在目标索引名称中编写 ES 的索引索引可理解为 MySQL 中的表这个索引是日后需要从 ES 中获取数据的索引名称。其余信息不动。4.数据处理在这里可以配置 ES 中对应的索引字段由于博主习惯将 MySQL 中的字段设置为小写加下划线这些字段转存到 ES 中时习惯将其设置为下划线转驼峰。在类型可选择是否要进行倒序排序如果有字段需要进行倒序索引即类似拆分搜索就选择 text 类型并添加为索引分词器选择 IK_MAX_WORD。若不需要进行倒序索引单纯作为完整关键字进行搜索则选择 keyword。配置完成后可点击下一步5.创建确认确认信息没问题便可点击创建任务。异常处理若出现异常可点击感叹号查看异常信息。随后可点击右上角的重试。ES 查看数据是否同步成功当出现状态正常时代表同步任务已经在执行。进入 Kibana并点击 ElasticSearch。点击内容中的索引可看到 Cloud Canal 创建的索引已存在且数据已同步了 20 条至 ES 中。点击小眼睛选择文档即可查看每一条数据详情。结语至此完成使用 Cloud Canal 将 MySQL 中的数据同步至 ElasticSearch 中且只要任务不停止或中断只要 MySQL 中对应表中的信息有变动便会自动同步至 ElasticSearch。

相关新闻

最新新闻

口碑好的西安锂电池公司

口碑好的西安锂电池公司

厌倦了劣质锂电池带来的各种问题?今天就给大家分享一家口碑好的西安锂电池公司——西安吉锂新能源科技有限公司。我有个朋友之前采购锂电池,遇到电芯容量虚标、交期长等问题。后来他选了吉锂,体验感直线上升。吉锂的产品线丰富。储能类有户用…

2026/7/22 7:27:13
TI处理器PLL时钟系统配置详解:从原理到实战避坑指南

TI处理器PLL时钟系统配置详解:从原理到实战避坑指南

1. 项目概述与时钟系统的重要性在嵌入式系统开发,尤其是基于德州仪器(TI)处理器的项目中,时钟系统的配置往往是硬件初始化的第一步,也是最容易让人“翻车”的一步。处理器内核、内存控制器、DMA、以及形形色色的外设&a…

2026/7/22 7:27:13
DDD 战术设计:从实体到聚合根,构建领域模型

DDD 战术设计:从实体到聚合根,构建领域模型

DDD 战术设计:从实体到聚合根,构建领域模型 目录 实体值对象怎么判断聚合聚合根实战:Order 聚合小结 上一篇我们聊了战略设计:统一语言、限界上下文、上下文映射。业务边界划清楚了,接下来就是往边界里面填东西。每…

2026/7/22 7:27:13
PostgreSQL向量化扩展pgvector:原理、优化与应用实践

PostgreSQL向量化扩展pgvector:原理、优化与应用实践

1. PostgreSQL向量化革命:为什么需要pgvector?在传统关系型数据库领域,PostgreSQL一直以其强大的扩展性著称。但当我们进入AI时代,处理非结构化数据(如图片、文本、音频)的需求爆炸式增长,这些数…

2026/7/22 7:27:13
AI率检测与降AI工具实战指南

AI率检测与降AI工具实战指南

1. 为什么我们需要关注AI率问题?在学术写作和内容创作领域,AI率已经成为衡量作品原创性的重要指标。简单来说,AI率指的是文本中被检测出由人工智能生成的比例。随着AI写作工具的普及,这个问题变得愈发突出。我最近帮一位研究生朋友…

2026/7/22 7:27:13
KMP 全栈开发:从 Android 到 AI Agent,一套代码构建下一代智能应用

KMP 全栈开发:从 Android 到 AI Agent,一套代码构建下一代智能应用

近年来,AI 的快速发展正在重新定义软件开发。从最初的移动互联网,到跨平台开发,再到今天的大模型与 AI Agent,开发者关注的重点已经不再只是如何快速开发一个 App,而是如何构建一个能够持续进化、跨平台运行并具备智能…

2026/7/22 7:22:13

月新闻