FlinkCDC3.3 使用 Mysql 8.4 报错

devtools/2025/3/16 4:30:06/

一、报错日志

Caused by: io.debezium.DebeziumException: org.apache.flink.util.FlinkRuntimeException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configuredat org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.execute(MySqlSnapshotSplitReadTask.java:134) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.snapshot(SnapshotSplitReader.java:176) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.lambda$submitSplit$1(SnapshotSplitReader.java:161) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_412]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_412]... 1 more
Caused by: org.apache.flink.util.FlinkRuntimeException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configuredat org.apache.flink.cdc.connectors.mysql.debezium.DebeziumUtils.currentBinlogOffset(DebeziumUtils.java:143) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.doExecute(MySqlSnapshotSplitReadTask.java:156) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.execute(MySqlSnapshotSplitReadTask.java:129) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.snapshot(SnapshotSplitReader.java:176) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.lambda$submitSplit$1(SnapshotSplitReader.java:161) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_412]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_412]... 1 more
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MASTER STATUS' at line 1at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[mysql-connector-java-8.0.22.jar:8.0.22]at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.22.jar:8.0.22]at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.22.jar:8.0.22]at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1200) ~[mysql-connector-java-8.0.22.jar:8.0.22]at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:641) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:510) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.DebeziumUtils.currentBinlogOffset(DebeziumUtils.java:123) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.doExecute(MySqlSnapshotSplitReadTask.java:156) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.execute(MySqlSnapshotSplitReadTask.java:129) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.snapshot(SnapshotSplitReader.java:176) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at org.apache.flink.cdc.connectors.mysql.debezium.reader.SnapshotSplitReader.lambda$submitSplit$1(SnapshotSplitReader.java:161) ~[blob_p-916429e34e7e81044b5e0a15a59b94423de0f995-2d2f6d334847d4017dc084f29d5f56fb:3.3.0]at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_412]at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_412]... 1 more

二、原因

8.0.x binlog 查询点位支持 show master status;
https://dev.mysql.com/doc/refman/8.0/en/change-master-to.html
在这里插入图片描述

8.4.x binlog 查询点位不支持 show master status; 改为 SHOW BINARY LOG STATUS;
在这里插入图片描述
https://dev.mysql.com/doc/refman/8.4/en/show-master-status.html
在这里插入图片描述

三、解决方案

  1. mysql 版本。
  2. 修改 FLINK CDC 源码。
    在这里插入图片描述

http://www.ppmy.cn/devtools/167459.html

相关文章

centos 8安装及相关操作

安装centos 8 在VMware workstation中安装 UEFI对比BIOS有更快的启动速度、支持更大容量硬盘及 GPT 分区、图形化操作界面更友好、安全性更高、对新操作系统支持更好、硬件兼容性不断增强以及扩展性更好等。 按回车确定 重置root管理员密码 这样进入到紧急救援模式 mount -o r…

MATLAB直方图全解析

直方图(Histogram)是数据可视化中最基础的图表之一,用于直观展示连续数据的分布特征。在MATLAB中,直方图不仅支持快速生成,还具备强大的数学运算和高度可定制的视觉效果,能够满足科研、工程和商业分析的多样…

笔记:记一次使用RabbitMq的x-delayed-message延迟消息插件,出现消息立即消费,延迟时间后再次消费,引发的重复消费问题

笔记:记一次使用RabbitMq的x-delayed-message延迟插件,出现消息立即消费,延迟时间后再次消费,引发的重复消费问题 RabbitTemplate配置如下: Beanpublic RabbitTemplate rabbitTemplate(CachingConnectionFactory conn…

unity Rigidbody2D、Collider2D参数详解

Rigidbody2D属性: BodyType:类别Simulated:模拟,是否模拟真实物理效果。Use Auto Mass:使用自动质量,根据BoxCollider2D大小来设定Mass:质量。Linear Drag:影响位置移动的阻力系数An…

数据结构-栈(详解)

目录 一、栈的基本概念二、栈的基本操作三、栈的实现方式1. 数组实现栈2. 链表实现栈 四、栈的应用场景五、总结 一、栈的基本概念 栈(Stack)是一种特殊的线性表,它只允许在表的一端进行插入和删除操作。这一端称为栈顶(Top&…

Qt QML实现弹球消砖块小游戏

前言 弹球消砖块游戏想必大家都玩过,很简单的小游戏,通过移动挡板反弹下落的小球,然后撞击砖块将其消除。本文使用QML来简单实现这个小游戏。 效果图: 正文 代码目录结构如下: 首先是小球部分,逻辑比较麻…

【Javascript网页设计】个人简历网页案例

代码如下: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>个人简历 - 张三…

解决 GitHub Pull Request 中 DCO 问题(缺少Signed-off-by行的问题)

在开源软件开发过程中&#xff0c;开发者证书协议&#xff08;DCO&#xff09;确保所有贡献者都同意其贡献可以被项目接受并使用。GitHub通过要求每个提交包含Signed-off-by行来实现这一点。如果您的Pull Request (PR) 中有提交缺少该签名行&#xff0c;可能会导致合并被阻止。…