poorbarcode opened a new pull request, #649:
URL: https://github.com/apache/pulsar-site/pull/649
When MySQL enabled `caching_sha2_password_auto_generate_rsa_keys `, the
debezium will get an error: `Public Key Retrieval is not allowed`
```
2023-07-20T18:28:41,740+0800 [function-timer-thread-34-1] ERROR
org.apache.pulsar.functions.runtime.RuntimeSpawner -
public/default/debezium-mysql-source Function Container is dead with following
exception. Restarting.
io.debezium.DebeziumException: Unexpected error while connecting to MySQL
and looking at BINLOG_FORMAT mode:
at
io.debezium.connector.mysql.MySqlConnection.isBinlogFormatRow(MySqlConnection.java:385)
~[?:?]
at
io.debezium.connector.mysql.MySqlConnectorTask.validateBinlogConfiguration(MySqlConnectorTask.java:240)
~[?:?]
at
io.debezium.connector.mysql.MySqlConnectorTask.start(MySqlConnectorTask.java:85)
~[?:?]
at
io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:133)
~[?:?]
at
org.apache.pulsar.io.kafka.connect.AbstractKafkaConnectSource.open(AbstractKafkaConnectSource.java:162)
~[?:?]
at
org.apache.pulsar.io.kafka.connect.KafkaConnectSource.open(KafkaConnectSource.java:63)
~[?:?]
at
org.apache.pulsar.io.debezium.DebeziumSource.open(DebeziumSource.java:114)
~[?:?]
at
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setupInput(JavaInstanceRunnable.java:858)
~[org.apache.pulsar-pulsar-functions-instance-3.0.0.jar:3.0.0]
at
org.apache.pulsar.functions.instance.JavaInstanceRunnable.setup(JavaInstanceRunnable.java:253)
~[org.apache.pulsar-pulsar-functions-instance-3.0.0.jar:3.0.0]
at
org.apache.pulsar.functions.instance.JavaInstanceRunnable.run(JavaInstanceRunnable.java:290)
~[org.apache.pulsar-pulsar-functions-instance-3.0.0.jar:3.0.0]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.sql.SQLNonTransientConnectionException: Public Key Retrieval
is not allowed
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
~[?:?]
at
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
~[?:?]
at
com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~[?:?]
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
~[?:?]
at
com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[?:?]
at
com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
~[?:?]
at
io.debezium.jdbc.JdbcConnection.lambda$patternBasedFactory$1(JdbcConnection.java:244)
~[?:?]
at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:888)
~[?:?]
at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:883)
~[?:?]
at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:636)
~[?:?]
at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:510)
~[?:?]
at
io.debezium.connector.mysql.MySqlConnection.isBinlogFormatRow(MySqlConnection.java:380)
~[?:?]
... 10 more
Caused by: com.mysql.cj.exceptions.UnableToConnectException: Public Key
Retrieval is not allowed
at
jdk.internal.reflect.GeneratedConstructorAccessor33.newInstance(Unknown Source)
~[?:?]
at
jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[?:?]
at
java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Constructor.java:480)
~[?:?]
at
com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
~[?:?]
at
com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
~[?:?]
at
com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:130)
~[?:?]
at
com.mysql.cj.protocol.a.authentication.CachingSha2PasswordPlugin.nextAuthenticationStep(CachingSha2PasswordPlugin.java:49)
~[?:?]
at
com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:447)
~[?:?]
at
com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:212)
~[?:?]
at
com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1433) ~[?:?]
at com.mysql.cj.NativeSession.connect(NativeSession.java:133) ~[?:?]
at
com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948)
~[?:?]
at
com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818) ~[?:?]
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
~[?:?]
at
com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[?:?]
at
com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
~[?:?]
at
io.debezium.jdbc.JdbcConnection.lambda$patternBasedFactory$1(JdbcConnection.java:244)
~[?:?]
at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:888)
~[?:?]
at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:883)
~[?:?]
at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:636)
~[?:?]
at io.debezium.jdbc.JdbcConnection.queryAndMap(JdbcConnection.java:510)
~[?:?]
at
io.debezium.connector.mysql.MySqlConnection.isBinlogFormatRow(MySqlConnection.java:380)
~[?:?]
... 10 more
```
Add a solution to solve the issue
<!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
- [ ] `doc` <!-- Your PR contains doc changes. Please attach the local
preview screenshots (run `./preview.sh` at root path) to your PR description,
or else your PR might not get merged. -->
- [ ] `doc-required` <!-- Your PR changes impact docs and you will update
later -->
- [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
- [ ] `doc-complete` <!-- Docs have been already added -->
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]