AWS-解析mysql binlog同步数据方案
创始人
2024-05-31 20:14:02
0

虽然是公有云的鼻祖,AWS在某些产品的实现却太不给力;可能是习惯了阿里云喂到嘴边的感觉,AWS很多方案需要自己折腾,蛋疼!比如这里要讲的mysql数据同步方案。

阿里云产品DTS,点几下就OK了,AWS,只能通过插件安装、配置、调试、蹚坑……,具体就是用msk的debezium插件连接器。没见识过的一脸懵逼,下面说下配置步骤和一些注意的坑。

1.前提

安装好rds和msk

rds:binlog_format=row,打开log_bin

msk:auto.create.topics.enable=true

2.安装debezium插件

(1)下载安装包,并将其上传到S3的某个bucket;

https://repo1.maven.org/maven2/io/debezium/debezium-connector-mysql/1.9.7.Final/debezium-connector-mysql-1.9.7.Final-plugin.zip

(2)通过浏览S3或直接输入文件URI:

注意坑:AWS控制台的这个功能需要有梯子才行,否则:“浏览S3”找不到你的桶,直接输入文件URI自动检查文件也提示失败:Network Failure。

(3)安装后就有了:

3.安装msk连接器

3.1.选择自定义插件
3.2.连接器配置

说明:

connector.class=io.debezium.connector.mysql.MySqlConnector  #固定写法
database.hostname   # db IP或域名
database.user       # db username
database.password   # db 密码
database.port=3306  # db 端口
database.server.id=1001  # 编号,db范围唯一
tasks.max=1              # 任务并发数
database.server.name=omp-user   # DDL语句的topic,程序消费用
include.schema.changes=true     # 包含DDL
database.include.list=yunkc_db  # db范围
table.include.list=yunkc_db.t1,yunkc_db.t2  # 表范围
database.history.kafka.topic=cdc1           # DDL语句,内部用,消费者不要消费该topic
database.history.kafka.bootstrap.servers    # kafka bootstrap server地址
3.3.为mskconnect创建角色
3.4.日志配置

注意:一定要配置,否则报错无法排查

4.消息

捕获数据变化
./kafka-console-consumer.sh --bootstrap-server xxxxxx --topic omp-user.yunkc_db.t1
Struct{before=Struct{id=1},after=Struct{id=2},source=Struct{version=1.9.7.Final,connector=mysql,name=omp-user,ts_ms=1678348957000,db=yunkc_db,table=t1,server_id=351097349,file=mysql-bin-changelog.000001,pos=344,row=0,thread=16},op=u,ts_ms=1678348957646}
Struct{before=Struct{id=2},after=Struct{id=3},source=Struct{version=1.9.7.Final,connector=mysql,name=omp-user,ts_ms=1678349029000,db=yunkc_db,table=t1,server_id=351097349,file=mysql-bin-changelog.000001,pos=611,row=0,thread=16},op=u,ts_ms=1678349029762}
Struct{before=Struct{id=3},after=Struct{id=4},source=Struct{version=1.9.7.Final,connector=mysql,name=omp-user,ts_ms=1678349036000,db=yunkc_db,table=t1,server_id=351097349,file=mysql-bin-changelog.000001,pos=878,row=0,thread=16},op=u,ts_ms=1678349036808}捕获结构变化
./kafka-console-consumer.sh --bootstrap-server xxxxxx --topic omp-user
Struct{source=Struct{version=1.9.7.Final,connector=mysql,name=omp-user,ts_ms=1678349943178,db=yunkc_db,table=t2,server_id=351097349,file=mysql-bin-changelog.000001,pos=1287,row=0},databaseName=yunkc_db,ddl=create table t2(id int),
tableChanges=[Struct{type=CREATE,id="yunkc_db"."t2",table=Struct{defaultCharsetName=utf8,primaryKeyColumnNames=[],columns=[Struct{name=id,jdbcType=4,typeName=INT,typeExpression=INT,position=1,optional=true,autoIncremented=false,generated=false}]}}]}

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...