基于Flink SQL CDC Mysql to Mysql数据同步

这篇具有很好参考价值的文章主要介绍了基于Flink SQL CDC Mysql to Mysql数据同步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于Flink SQL CDC Mysql to Mysql数据同步

Flink CDC有两种方式同步数据库:

  • 一种是通过FlinkSQL直接输入两表数据库映射进行数据同步,缺点是只能单表进行同步;
  • 一种是通过DataStream开发一个maven项目,打成jar包上传到服务器运行。

本方案使用FlinkSQL方法,同步两表中的数据。
其中Flink应用可以部署在具有公网IP的服务器上,同时可以连接其他局域网中服务器的数据进行同步工作,如不需要操作管理页面,则不对服务器IP有要求。

一、 服务器部署Flink

将Flink压缩包解压到服务器指定位置
Flink下载地址,点击进入
基于Flink SQL CDC Mysql to Mysql数据同步

二、 配置Flink

1.配置端口号

进入到 根目录\conf\flink-conf.yaml文件,找到rest.port,将其配置为已开放的端口
基于Flink SQL CDC Mysql to Mysql数据同步

2.配置rest.bind地址

找到rest.port位置,将其参数localhost改为0.0.0.0,不修改会导致管理页面无法正常打开。
基于Flink SQL CDC Mysql to Mysql数据同步

三、 上传两个jar包到lib中

上面的是同步到目标mysql库的连接器
下面的是源mysql的连接器
下载地址:
flink-connector-jdbc:jar:3.0.0-1.16
flink-sql-connector-mysql-cdc:jar:2.3.0
基于Flink SQL CDC Mysql to Mysql数据同步

四、 启动服务

进入到bin文件夹中

1. 运行start-cluster.sh
2. 运行sql-client.sh进入到FlinkSQL模式

创建两个表映射、一个启动任务指令

1)源数据库映射

create table ny_energy_data_source
(
    id             bigint ,
    enterprise_id  bigint     ,
    use_time       timestamp   ,
    date_type      int        ,
    attribute_id   bigint     ,
    PRIMARY KEY (`id`) NOT ENFORCED
)WITH (
    'connector' = 'mysql-cdc',
    'hostname' = 'ip地址',
    'port' = '3306',
    'username' = '用户名',
    'password' = '密码',
    'database-name' = '源数据库名',
    'table-name' = '表名'
);

2)目标数据库映射

	create table ny_energy_data_target
(
    id             bigint ,
    enterprise_id  bigint     ,
    use_time       timestamp   ,
    date_type      int        ,
    attribute_id   bigint     ,
    PRIMARY KEY (`id`) NOT ENFORCED
)WITH (
    'connector' = 'jdbc',
    'url' = 'jdbc:mysql://IP地址:3306/库名?serverTimezone=UTC',
    'username' = '用户名',
    'password' = '密码',
    'table-name' = '表名',
    'driver' = 'com.mysql.cj.jdbc.Driver',
    'scan.fetch-size' = '200'
);

3)启动任务
从ny_energy_data_source到ny_energy_data_target,先全量后增量

insert into ny_energy_data_target select * from ny_energy_data_source;

五、 进入到http://IP:8081(默认端口),查看任务运行情况

基于Flink SQL CDC Mysql to Mysql数据同步文章来源地址https://www.toymoban.com/news/detail-410553.html

到了这里,关于基于Flink SQL CDC Mysql to Mysql数据同步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink CDC 基于mysql binlog 实时同步mysql表

    环境说明: flink 1.15.2 mysql 版本5.7    注意:需要开启binlog,因为增量同步是基于binlog捕获数据 windows11 IDEA 本地运行 先上官网使用说明和案例:MySQL CDC Connector — Flink CDC documentation 1. mysql开启binlog (注意,引擎是 InnoDB,如果是ndbcluster,本人测试是捕获不到binlog日志的,增量相

    2024年02月10日
    浏览(60)
  • Flink CDC 基于mysql binlog 实时同步mysql表(无主键)

    环境说明: flink 1.15.2 mysql 版本5.7    注意:需要开启binlog,因为增量同步是基于binlog捕获数据 windows11 IDEA 本地运行 具体前提设置,请看这篇,包含 binlog 设置、Maven...... Flink CDC 基于mysql binlog 实时同步mysql表_彩虹豆的博客-CSDN博客 经过不懈努力,终于从阿里help页面找到了支

    2024年02月08日
    浏览(47)
  • 11 flink-sql 中基于 mysql-cdc 连接 mysql-pxc 集群无法获取增量数据问题

    问题是来自于 群友, 2024.03.29, 也是花了一些时间 来排查这个问题  大致的问题是用 mysql-cdc 连接了一个 mysql-pxc 集群, 然后创建了一个 test_user 表  使用 \\\"select * from test_user\\\" 获取数据表的数据, 可以拿到 查询时的快照, 但是 无法获取到后续对于 test_user 表的增量操作的数据, 比如

    2024年04月15日
    浏览(53)
  • flink cdc数据同步,DataStream方式和SQL方式的简单使用

    目录 一、flink cdc介绍 1、什么是flink cdc 2、flink cdc能用来做什么 3、flink cdc的优点 二、flink cdc基础使用 1、使用flink cdc读取txt文本数据 2、DataStream的使用方式 3、SQL的方式 总结 flink cdc是一个由阿里研发的,一个可以直接从MySQL、PostgreSQL等数据库直接读取全量数据和增量变更数

    2024年02月13日
    浏览(40)
  • 基于Flink CDC实时同步PostgreSQL与Tidb【Flink SQL Client模式下亲测可行,详细教程】

    操作系统:ubuntu-22.04,运行于wsl 2【 注意,请务必使用wsl 2 ;wsl 1会出现各种各样的问题】 软件版本:PostgreSQL 14.9,TiDB v7.3.0,flink 1.7.1,flink cdc 2.4.0 已有postgre的跳过此步 (1)pg安装 https://zhuanlan.zhihu.com/p/143156636 (2)pg配置 可能出现的问题 sudo -u postgres psql 报错: psql: err

    2024年02月11日
    浏览(35)
  • 实战:大数据Flink CDC同步Mysql数据到ElasticSearch

    前面的博文我们分享了大数据分布式流处理计算框架Flink和其基础环境的搭建,相信各位看官都已经搭建好了自己的运行环境。那么,今天就来实战一把使用Flink CDC同步Mysql数据导Elasticsearch。 CDC简介 CDC 的全称是 Change Data Capture(变更数据捕获技术) ,在广义的概念上,只要

    2024年02月09日
    浏览(44)
  • flink-cdc同步mysql数据到elasticsearch

    CDC是(Change Data Capture 变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的插入INSERT、更新UPDATE、删除DELETE等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。 cdc项目地址:https://github.com/ver

    2024年02月13日
    浏览(87)
  • Flink CDC 基于Oracle log archiving 实时同步Oracle表到Mysql

    环境说明: flink 1.15.2 Oracle 版本:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production mysql 版本:5.7 windows11 IDEA 本地运行 先上官网使用说明和案例:Oracle CDC Connector — Flink CDC documentation 1. Oracle 开启 log archiving (1).启用 log archiving         a:以DBA用户连接数据库    

    2024年02月11日
    浏览(47)
  • 基于 Flink CDC 构建 MySQL 的 Streaming ETL to MySQL

    CDC 的全称是 Change Data Capture ,在广义的概念上,只要是能捕获数据变更的技术,我们都可以称之为 CDC 。目前通常描述的 CDC 技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。CDC 技术的应用场景非常广泛: • 数据同步:用于备份,容灾; • 数据分发:

    2024年02月03日
    浏览(44)
  • Flink DataStream API CDC同步MySQL数据到StarRocks

    Flink:1.16.1 pom文件如下 Java代码 SourceAndSinkInfo 类,用于定义source和sink的IP、端口、账号、密码信息 DataCenterShine实体类,字段与数据库一一对应。 StarRocksPrimary 实体类 FieldInfo注解类,用于标记字段序号、是否为主键、是否为空,后续生成TableSchema需要使用到。 TableName 注解类,

    2024年02月03日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包