Created 08-03-2022 04:15 AM
Hi,
I want to connect connect two different MySQL database services(mysql 5.7 and Mysql 8.0 ). I am using two two CaptureChangeMySQL Processors for this.
Mysql 5.7 is install in my local machine and CaptureChangeMySQL Processors connecting successfully.
Mysql 8.0 is install on docker container and on host machine port 3310 like (sudo docker run --name mysql-8.0-container -p 127.0.0.1:3310:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:8.0).
CaptureChangeMySQL connecting with mysql 8.0 is giving error.
Can any suggest why i am getting this error and how to resolve it.
Note: I am able to connect mysql 8.0 using mysql workbench.
Error:
2022-08-03 15:59:58,863 ERROR [Timer-Driven Process Thread-4] o.a.n.c.m.processors.CaptureChangeMySQL CaptureChangeMySQL[id=352daba9-0182-1000-a02a-faf160ab1329] Processing failed
org.apache.nifi.processor.exception.ProcessException: Could not connect binlog client to any of the specified hosts due to: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at org.apache.nifi.cdc.mysql.processors.CaptureChangeMySQL.setup(CaptureChangeMySQL.java:664)
at org.apache.nifi.cdc.mysql.processors.CaptureChangeMySQL.onTrigger(CaptureChangeMySQL.java:678)
at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1283)
at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214)
at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:103)
at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
Thanks,
Created 08-03-2022 04:51 AM
The CaptureChangeMySQL processor acts as a MySQL replication slave. It requires the REPLICATION_SLAVE privilege in MySQL.
Following the steps in the documentation and create a separate user to use in your processor.
Cheers,
André
Cheers,
André
Created 08-03-2022 04:51 AM
The CaptureChangeMySQL processor acts as a MySQL replication slave. It requires the REPLICATION_SLAVE privilege in MySQL.
Following the steps in the documentation and create a separate user to use in your processor.
Cheers,
André
Cheers,
André