¿Cómo me conecto de forma segura a MySQL 8 cuando caching_sha2_password está en uso?

¿Cómo me conecto de forma segura a MySQL 8 cuando caching_sha2_password está en uso?

Me estoy mudando de nuestros sitios web a un nuevo host. Nuestro clúster de bases de datos (PCS) ahora ejecuta MySQL 8. Tenemos dos servidores de bases de datos (activo y de conmutación por error) con una IP virtual flotante a la que nos conectamos a MySQL.

También tenemos replicación ejecutándose desde el clúster a otro servidor (usando registros binarios). Configuré la replicación de la misma manera que cuando usábamos MySQL 5.x, incluido el uso de SSL con certificados y CA autofirmados.

Una vez realizados los certificados, uso esta configuración en el maestro:

ssl
ssl-ca=/var/lib/mysql/ssl/ca.pem
ssl-cert=/var/lib/mysql/ssl/server-cert.pem
ssl-key=/var/lib/mysql/ssl/server-key.pem

La replicación ahora funciona bien en el esclavo. Sin embargo, cuando intento conectarme al clúster mysql en la línea de comando (desde el servidor de base de datos activo), aparece el siguiente error:

ERROR 2061 (HY000): Authentication plugin 'caching_sha2_password' reported error: Authentication requires secure connection.

Al leer sobre esto, pensé que se debía al hecho de que caching_sha2_passwordahora es el valor predeterminado y los documentos dicen que se necesita una conexión segura. Intenté lo siguiente:

mysql --ssl-mode=DISABLED

y eso no hizo ninguna diferencia. También intenté cambiar el usuario:

mysql> ALTER USER 'root'@'db-01' IDENTIFIED WITH mysql_native_password BY 'passwordhere'

y eso tampoco funcionó. Hasta ahora, la única forma en que he podido iniciar sesión en MySQL es eliminando SSL . encontré que yopoderhaz que esto se conecte así:

mysql --get-server-public-key

Sin embargo, no estoy seguro de si esta es la mejor solución.

Quées¿Cuál es la mejor manera de hacer que mis conexiones funcionen correctamente en MySQL 8 cuando uso SSL de esta manera? Existirán una cantidad de cuentas tanto de los servidores de BD que conforman el cluster, como de los servidores web de la misma red interna y externa (como replicación y administración remota de BD).

Respuesta1

Me preguntaba si pudiste resolver esto. Me encuentro con el mismo problema o uno similar. Aquí está mi hilo de Reddit: https://www.reddit.com/r/mysql/comments/10pa60k/group_replication_and_ssl_configuring_issues/

Cualquier sugerencia sería buena. Gracias. DD

Respuesta2

Después de luchar con esto durante una eternidad, finalmente encontré la configuración que me solucionó el problema. YMMV

Todo lo que tuve que hacer fue agregar la siguiente línea a mi archivo de configuración de MySQL con el resto de la configuración de replicación de mi grupo.

group_replication_recovery_get_public_key           = on

Por lo que puedo decir, eso no está documentado en ninguna parte. Me topé con él mientras buscaba variables de MySQL con la esperanza de encontrar ALGO útil.

información relacionada