当前位置: 首页 > news >正文

【canal+mysql+example+数据验证测试】

前言

Canal 是阿里巴巴开源的一个基于 MySQL 数据库增量日志(binlog)解析的组件,常用于数据同步、缓存更新、大数据实时处理等场景。

canal.adapter #全组件安装包
canal.admin #管理端安装包
canal.deployer #server安装包
canal.example #客户端示例程序

现测试环境:服务器1台
docker起了两个mysql
数据库版本:8.0.26
mysql8 : 3306 -->🔺 binlog --> canal server --> <kafka/rabbitmq>? --> mysql9: 3307


一、数据库设置

注:必须保证数据库的表结构一致

1、mysql8开启binlog日志,mysql9不需要

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW

2、创建canal链接用户、授权

CREATE USER 'canal'@'%' IDENTIFIED BY 'canal';
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
FLUSH PRIVILEGES;

二、canal下载、配置

1、下载解压

root@confluence:/u01/canal/canal-deployer# vim conf/example/instance.properties # MySQL 地址
canal.instance.master.address=127.0.0.1:3306
# 用户名密码
canal.instance.dbUsername=canal
canal.instance.dbPassword=canal
# 数据库过滤(可选)
canal.instance.defaultDatabaseName=test

kafka(备选)

## conf/canal.propertiescanal.serverMode = kafka
kafka.bootstrap.servers = kafka-server:9092
kafka.topic = canal

2、启服务

./bin/startup.sh 

三、构建jar包、使用canal同步数据

1、下载源码包、解压

https://github.com/alibaba/canal/archive/refs/tags/canal-1.1.8.tar.gz

2、切换目录、构建pom.xml

root@confluence:/u01/canal/canal-client/canal-canal-1.1.8/example#
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!-- 使用 Canal 官方稳定版本 --><parent><groupId>com.alibaba.otter</groupId><artifactId>canal</artifactId><version>1.1.8</version><relativePath>../pom.xml</relativePath></parent><groupId>com.example</groupId><artifactId>canal-client-demo</artifactId><packaging>jar</packaging><name>Canal Client Demo for MySQL Sync</name><!-- 项目依赖 --><dependencies><!-- Canal Client --><dependency><groupId>com.alibaba.otter</groupId><artifactId>canal.client</artifactId><version>${project.version}</version></dependency><!-- Canal Protocol --><dependency><groupId>com.alibaba.otter</groupId><artifactId>canal.protocol</artifactId><version>${project.version}</version></dependency><!-- MySQL JDBC Driver --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.26</version></dependency><!-- 测试依赖 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><scope>test</scope></dependency></dependencies><!-- 构建配置 --><build><plugins><!-- 编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin><!-- 构建可执行 JAR 并打包所有依赖 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>

文章转载自:
http://bwr.zzgtdz.cn
http://boong.zzgtdz.cn
http://aerodynamicist.zzgtdz.cn
http://algophobia.zzgtdz.cn
http://americanese.zzgtdz.cn
http://audiotactile.zzgtdz.cn
http://areaway.zzgtdz.cn
http://canoness.zzgtdz.cn
http://camorrista.zzgtdz.cn
http://alfilaria.zzgtdz.cn
http://barnsley.zzgtdz.cn
http://chaffy.zzgtdz.cn
http://antileukemia.zzgtdz.cn
http://altaic.zzgtdz.cn
http://anaerobiosis.zzgtdz.cn
http://anomalistic.zzgtdz.cn
http://catalpa.zzgtdz.cn
http://bogbean.zzgtdz.cn
http://baronship.zzgtdz.cn
http://chorography.zzgtdz.cn
http://chronology.zzgtdz.cn
http://cephalothorax.zzgtdz.cn
http://armless.zzgtdz.cn
http://carbomycin.zzgtdz.cn
http://apogeotropism.zzgtdz.cn
http://aquiherbosa.zzgtdz.cn
http://chisel.zzgtdz.cn
http://autarky.zzgtdz.cn
http://boggle.zzgtdz.cn
http://beaver.zzgtdz.cn
http://www.dtcms.com/a/280535.html

相关文章:

  • 从 0 到 1 掌握 自研企业级分布式 ID 发号器
  • C 语言(二)
  • GaussDB 数据库架构师修炼(三) 集群管理概览
  • Kafka 4.0 技术深度解析
  • 现代CSS实战:用变量与嵌套重构可维护的前端样式
  • Go 错误处理全解析:从 error 到 panic
  • Go 包管理工具详解:安装与使用指南
  • 【轨物方案】当补贴退潮,光伏电站如何回归价值本质?
  • 上公网-从内网到公网
  • 李宏毅《生成式人工智能导论》 | 第9讲 AI Agent
  • 本地电脑安装Dify|内网穿透到公网
  • 1.1 前端-vue3项目的创建
  • JS基础知识(下)
  • docker容器、宿主机、cpu核数关系
  • c# sqlsugar 主子表明细 查询
  • C语言操作符补充
  • linux系统------HAProxy 配置
  • 酷淘商场项目【从零到一详解】Web端抓包操作与测试报告(二)
  • 部署项目将dll放到system32?不可取
  • Ubuntu环境下的K3S集群搭建
  • 【如何理解SerializedProperty】
  • 【项目】-番茄时钟设计
  • 云手机隐私保护指南:如何保障账号与数据的云端安全?
  • 编程技能:多文件编译
  • 本地 LLM API Python 项目分步指南
  • 20250715给荣品RD-RK3588开发板刷Android14时打开USB鼠标
  • Android 获取 UserAgent (UA) 的三种方式深度解析:差异、风险与最佳实践
  • Hystrix与Resilience4j在微服务熔断降级中的应用对比与实战
  • 用 K-means 算法实现水果分堆
  • 《大数据技术原理与应用》实验报告四 MapReduce初级编程实践