Mysql8: no se permite la recuperación de claves públicas

Mysql8 Public Key Retrieval Is Not Allowed

Después de reiniciar la aplicación usando MySQL 8.0 cuando se le solicite com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No se permite la recuperación de clave pública

La solución más sencilla es agregar una conexión en la parte posterior allowPublicKeyRetrieval=true



Documentos ( La explicación dada https://mysql-net.github.io/MySqlConnector/connection-options/) es



Si el cliente utiliza sha256_password Autenticación, la contraseña debe estar protegida por el protocolo TLS durante la transmisión, pero si la clave pública RSA no está disponible, el servidor puede usar la clave pública.
ServerRSAPublicKeyFile especificado por la clave pública RSA en la conexión del servidor, o los parámetros AllowPublicKeyRetrieval = True para permitir que el cliente obtenga la clave pública del servidor
pero tenga en cuenta que AllowPublicKeyRetrieval = True podría dar como resultado que un agente malintencionado obtenga el ataque intermedio de contraseña de texto sin formato (MITM), por lo que está desactivado de forma predeterminada y debe activarse explícitamente



1405399-20191201150741433-25939670.png