Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-8445

Add support for mysql_clear_password in mysql-binlog-connector

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Done
    • Icon: Major Major
    • 3.0.4.Final
    • None
    • mysql-connector
    • None

      Zulip Chat.
      Github Issue

      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.

              Unassigned Unassigned
              akanimesh7 Animesh Kumar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: