使用 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。

相关新闻

终极指南:如何用SketchUp STL插件轻松实现3D打印工作流

终极指南:如何用SketchUp STL插件轻松实现3D打印工作流

终极指南:如何用SketchUp STL插件轻松实现3D打印工作流 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl 想要将Ske…

2026/7/22 6:25:01阅读更多 →
Claude Code AI编程助手:从入门到企业级应用指南

Claude Code AI编程助手:从入门到企业级应用指南

1. Claude Code官方学习指南概述作为AIGC领域的新锐工具,Claude Code正在快速成为开发者们的新宠。这款由Anthropic公司推出的AI编程助手,凭借其强大的代码生成和理解能力,正在改变我们编写软件的方式。不同于传统的代码补全工具,…

2026/7/22 6:25:01阅读更多 →
深入解析8259A中断控制器原理与编程实践

深入解析8259A中断控制器原理与编程实践

1. 理解中断机制:CPU与外设的对话方式当我们在键盘上敲下一个字母时,这个简单的动作背后隐藏着一套精妙的硬件协作机制。想象一下,CPU就像一位忙碌的办公室职员,而外设(键盘、鼠标、硬盘等)则是需要汇报工作…

2026/7/22 6:25:01阅读更多 →
UE5中实现二次元角色Q弹物理摆动:KawaiiPhysics核心原理与5分钟蓝图实践

UE5中实现二次元角色Q弹物理摆动:KawaiiPhysics核心原理与5分钟蓝图实践

1. 项目概述:什么是KawaiiPhysics? 如果你在开发二次元风格或者任何带有可爱元素的游戏时,总觉得角色或物件的动态有点“硬”,少了点那种Q弹、软萌的感觉,那你很可能需要了解一下KawaiiPhysics。这不是一个官方的Unrea…

2026/7/23 9:54:17阅读更多 →
UE4 UMG主菜单UI:5分钟搭建与屏幕适配避坑指南

UE4 UMG主菜单UI:5分钟搭建与屏幕适配避坑指南

1. 项目概述:为什么主菜单UI是UE4项目的第一道坎? 做游戏开发,尤其是用UE4,很多人觉得主菜单UI不就是摆几个按钮、加个背景图吗?新手往往一头扎进蓝图逻辑或者C代码里,觉得那才是“核心技术”。但实际干过几…

2026/7/23 9:54:17阅读更多 →
嵌入式开发核心外设驱动:SysTick、Timer与UART实战解析

嵌入式开发核心外设驱动:SysTick、Timer与UART实战解析

1. 嵌入式外设驱动开发的核心价值与挑战 在嵌入式开发这个行当里摸爬滚打了十几年,我越来越觉得,能把芯片数据手册上那些冷冰冰的寄存器描述,变成一行行稳定、高效、可维护的驱动代码,是区分“码农”和“工程师”的一道分水岭。很…

2026/7/23 9:54:17阅读更多 →
Godot 4风格化天空着色器教程:从渐变到动态云层全流程实现

Godot 4风格化天空着色器教程:从渐变到动态云层全流程实现

1. 项目概述:为什么我们需要风格化天空? 如果你正在用Godot 4开发一款游戏,尤其是独立游戏或风格化作品,那么场景的氛围感很大程度上就取决于你头顶的那片“天”。默认的ProceduralSky或PhysicalSky虽然功能强大,但往往…

2026/7/23 9:54:17阅读更多 →
开发感悟:写代码时,学会留存日志是性价比极高的习惯

开发感悟:写代码时,学会留存日志是性价比极高的习惯

日常开发调试过程里,很多人遇到程序异常,习惯反复刷新、重启服务试错,却常常忽略日志的价值。工作多年,越发觉得养成规范记录、保存日志的习惯,能节省大量排障时间,在这里分享一点个人经验。一、不要忽视控…

2026/7/23 9:54:17阅读更多 →
上门按摩服务体验的关键要素与选择建议

上门按摩服务体验的关键要素与选择建议

1. 上门按摩服务体验的核心要素解析 在邢台这座三线城市,上门按摩服务近年来呈现爆发式增长。作为一名体验过7家不同服务商的消费者,我发现真正决定服务质量的往往不是价格或宣传噱头,而是几个容易被忽视的关键细节。 首先是服务人员的专业资…

2026/7/23 9:52:16阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/22 18:55:50阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/22 18:55:50阅读更多 →