-
Enhancement
-
Resolution: Done
-
Major
-
None
-
None
On trying to run the mysql cdc connector with an IAM assume role enabled rds instance, snapshotting works fine but streaming gives the below exception –
[2024-11-19 14:25:09,130] ERROR [mysql-conn-v2-6|task-0] Producer failure (io.debezium.pipeline.ErrorHandler:52) io.debezium.DebeziumException: Failed to authenticate to the MySQL database at <something>:3306 with user 'something' at io.debezium.connector.mysql.MySqlStreamingChangeEventSource.execute(MySqlStreamingChangeEventSource.java:1034) at io.debezium.connector.mysql.MySqlStreamingChangeEventSource.execute(MySqlStreamingChangeEventSource.java:92) at io.debezium.pipeline.ChangeEventSourceCoordinator.streamEvents(ChangeEventSourceCoordinator.java:272) at io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:197) at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:137) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) Caused by: com.github.shyiko.mysql.binlog.network.AuthenticationException: unsupported authentication method: mysql_clear_password at com.github.shyiko.mysql.binlog.network.Authenticator.switchAuthentication(Authenticator.java:174) at com.github.shyiko.mysql.binlog.network.Authenticator.readResult(Authenticator.java:87) at com.github.shyiko.mysql.binlog.network.Authenticator.authenticate(Authenticator.java:70) at com.github.shyiko.mysql.binlog.BinaryLogClient.connect(BinaryLogClient.java:574) at com.github.shyiko.mysql.binlog.BinaryLogClient$7.run(BinaryLogClient.java:932) ... 1 more
The below configs are required to point to a different driver (required for IAM assume role).
"database.jdbc.driver":"software.amazon.jdbc.Driver", "database.protocol":"jdbc:aws-wrapper:mysql", "driver.wrapperPlugins": "iam",
This support is missing in mysql-binlog-connector. This needs to be added.