Flink CDC读取MySQL的例子

本文详细介绍了如何配置MySQL以启用binlog,以及如何利用FlinkSQL读取MySQL数据。首先,通过修改my.cnf启用MySQLbinlog,并创建测试数据库和表。接着,下载并配置Flink及mysql-cdc.jar,启动Flink测试环境。最后,通过FlinkSQL创建表并执行查询,成功读取MySQL数据。

前面转载了Flink CDC的机制文章,原理看起来还是比较好理解的,那么接下来很多人肯定都跃跃欲试了。

这篇文章分享一下MySQL作为源端,使用Flink SQL如何读取MySQL数据

注意:如果经验有限,在进行所有的软件安装配置操作之前,请先仔细阅读一遍Flink CDC官方文档,目的主要是从文档中获取到Flink CDC与Flink版本对照关系及其他软件的支持版本

本文章使用的软件版本如下:

  • flink-1.13.3
  • flink-sql-connector-mysql-cdc-2.0.2.jar
  • 10.3.29-MariaDB-log
  • openjdk version "11.0.11" 2021-04-20

1.MySQL配置

在进行配置之前,首先你需要自行安装MySQL,具体步骤这里不展开说了,大家如果安装MySQL有困难还请自己去百度一下。

当前Flink CDC官方宣称支持的MySQL版本信息如下:

  • Database: 5.7, 8.0.x
  • JDBC Driver: 8.0.16

我这边测试过程中使用的是MariaDB 10,也是支持的。

1.1 启用MySQL binlog

修改my.cnf文件,增加如下信息:

要使用Flink CDC读取MySQL,您需要按照以下步骤进行操作: 1. 首先,您需要从Flink CDC的GitHub发布页面下载最新的jar包flink-sql-connector-mysql-cdc-2.0.2.jar。 2. 接下来,进入Flink的bin目录,并执行./start-cluster.sh命令启动Flink测试环境。 3. 在Flink SQL中读取MySQL数据,您需要执行以下步骤: - 进入Flink的bin目录,并执行./sql-client.sh命令启动Flink SQL。 - 在Flink SQL中创建一个表,例如,可以使用以下命令创建名为mysql_binlog的表: CREATE TABLE mysql_binlog ( id INT NOT NULL, name STRING, description STRING, weight DECIMAL(10,3), PRIMARY KEY(id) NOT ENFORCED ) WITH ( 'connector' = 'mysql-cdc', 'hostname' = '192.168.0.200', 'port' = '3306', 'username' = 'root', 'password' = 'passwd', 'database-name' = 'demo', 'table-name' = 'products' ); 这将使用Flink CDC连接器创建一个名为mysql_binlog的表,其中包含了与MySQL数据库中的demo.products表相对应的列和设置。您可以根据实际情况修改连接器的配置参数。 以上是使用Flink CDC读取MySQL的步骤。通过执行这些步骤,您可以在Flink中使用CDC功能来读取MySQL数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Flink CDC读取MySQL例子](https://blog.youkuaiyun.com/chrisy521/article/details/121377441)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿福Chris

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值