项目场景:
fiink cdc 的表用户,需要有Replication client ,Replication slave权限。
授权命令如下:
grant Replication client on . to ods_base@‘%’;
grant replication slave on . to ods_base@‘%’;
flush privileges;
问题描述
flink cdc读取mysql数据,没有往外写数据,页面的状态显示正常,但日志报错。
Caused by: org.apache.flink.util.FlinkRuntimeException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configured
at com.ververica.cdc.connectors.mysql.debezium.DebeziumUtils.currentBinlogOffset(DebeziumUtils.java:122) ~[flink-sql-connector-mysql-cdc-2.2-SNAPSHOT.jar:2.2-SNAPSHOT]
at com.ververica.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.doExecute(MySqlSnapshotSplitReadTask.java:139) ~[flink-sql-connector-mysql-cdc-2.2-SNAPSHOT.jar:2.2-SNAPSHOT]
at com.ververica.cdc.connectors.mysql.debezium.task.MySqlSnapshotSplitReadTask.execute(MySqlSnapshotSplitReadTask.java:115) ~[flink-sql-connector-mysql-cdc-2.2-SNAPSHOT.jar:2.2-SNAPSHOT]
... 6 more
Caused by: java.sql.SQLSyntaxErrorException: Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) ~[flink-sql-connector-mysql-cdc-2.2-SNAPSHOT.jar:2.2-SNAPSHOT]
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[flink

博客内容讲述了在使用Flink CDC从MySQL读取数据时遇到的权限问题,用户缺少Replicationclient和Replicationslave权限导致无法正常同步。通过授权命令`grant Replicationclient on *.* to ods_base@'%';`和`grant Replicationslave on *.* to ods_base@'%';`并执行`flush privileges;`来解决这个问题。错误信息显示了SQLSyntaxErrorException和ConnectException,提示需要SUPER或REPLICATIONCLIENT, REPLICATIONSLAVE权限。
最低0.47元/天 解锁文章
6449

被折叠的 条评论
为什么被折叠?



