El complemento de autenticación ‘caching_sha2_password’ no se puede cargar

Estoy conectando MySQL – 8.0 con MySQL Workbench y obtengo el siguiente error:

El complemento de autenticación ‘caching_sha2_password’ no se puede cargar: dlopen (/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): imagen no encontrada

Lo he intentado con otra herramienta de cliente también.

¿Alguna solución para esto?

Nota: para MAC OS

  1. Abra MySQL desde Preferencias del sistema> Inicializar base de datos>
  2. Escriba su nueva contraseña.
  3. Elija ‘Usar contraseña heredada’
  4. Comience el Servidor de nuevo.
  5. Ahora conecta el MySQL Workbench

descripción de la imagen

Puede cambiar el cifrado de la contraseña del usuario alterando el usuario con el siguiente comando Alter:

ALTER USER ‘username’ @ ‘ip_address’ IDENTIFICADO CON mysql_native_password POR ‘password’;

O

Podemos evitar este error haciendo que funcione con el antiguo complemento de contraseña:

Primero cambie el complemento de autenticación en el archivo my.cnf para el archivo Linux / my.ini en Windows :

[mysqld]

default_authentication_plugin = mysql_native_password

Reinicia el servidor mysql para tomar los cambios en efecto e intenta conectarte a través de MySQL con cualquier cliente mysql.

Si aún no puede conectarse y obtiene el siguiente error:

Unable to load plugin 'caching_sha2_password' 

Significa que su usuario necesita el complemento anterior. Por lo tanto, intente crear un nuevo usuario con el usuario create o el comando grant luego de cambiar el plugin predeterminado. entonces el nuevo usuario necesita el complemento nativo y podrá conectarse a MySQL.

Gracias

Actualmente (en 2018/04/23), necesita descargar una versión de desarrollo . Los GA no funcionan.

No pude conectarme con la última versión de GA (6.3.10).

Funcionó con mysql-workbench-community-8.0.11-rc-winx64.msi (desde https://dev.mysql.com/downloads/workbench/ , pestaña mysql-workbench-community-8.0.11-rc-winx64.msi de desarrollo ).

puede cambiar el cifrado de la contraseña de esta manera.

 ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword'; 

Para Windows 10: abra el símbolo del sistema

 cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p Enter password: ********* mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newrootpassword'; Query OK, 0 rows affected (0.10 sec) mysql> exit 

Alternativamente, puede cambiar la configuración my.ini de la siguiente manera:

[mysqld]

default_authentication_plugin = mysql_native_password

Reinicie el servidor MySQL y abra el Workbench nuevamente.

Estaba instalando MySQL en mi PC con Windows 10 usando ” MySQL Web Installer ” y estaba enfrentando el mismo problema al intentar conectarme con MySQL workbench. Solucioné el problema reconfigurando el servidor desde la ventana del Instalador.

MySQL Web Installer - Pantalla de inicio

Al hacer clic en la opción “Reconfigurar”, permitirá reconfigurar el servidor. Haga clic en “Siguiente” hasta llegar al “Método de autenticación”.

Instalador MySQL - Método de autenticación

Una vez en esta pestaña, use la segunda opción “Usar el método de autenticación heredado (conservar la compatibilidad con MySQL 5.x)”.

Mantenga todo lo demás como está y así es como resolví mi problema.

¿Me gusta esto?

 docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql --default-authentication-plugin=mysql_native_password mysql -uroot --protocol tcp 

Prueba en PWD

https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml

o Deberías usar MySQL Workbench 8.0.11.

Tuve el mismo problema, pero la respuesta de Aman Aggarwal no funcionó para mí con un contenedor Docker ejecutando mysql 8.X. Arreglé en el contenedor

 docker exec -it CONTAINER_ID bash 

luego inicie sesión en mysql como root

 mysql --user=root --password 

Ingrese la contraseña para la raíz (el valor predeterminado es ‘root’) Finalmente ejecute:

 ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password'; 

Ya estás listo.

Para Windows 10 ,

  1. Modifique el archivo my.ini en ** C: \ ProgramData \ MySQL \ MySQL Server 8.0 **

[mysqld] default_authentication_plugin = mysql_native_password

  1. Reiniciar el servicio MySQL

  2. inicie sesión en MySQL en la línea de comandos, ejecute los siguientes comandos en MySQL

  3. Crear un nuevo usuario

CREAR USUARIO ‘user’ @ ‘localhost’ IDENTIFICADO POR ‘password’;

  1. Conceder todos los privilegios

OTORGUE TODOS LOS PRIVILEGIOS EN *. * A ‘usuario’ @ ‘localhost’;

  1. Abra MySQL workbench, abra una nueva conexión usando las nuevas credenciales de usuario

Estaba enfrentando el mismo problema y esto funcionó.

Para aquellos que usan Docker o Docker Compose, experimenté este error porque no configuré la versión de mi imagen MySQL. Docker intentará automáticamente obtener la última versión, que es 8.

Configuré MySQL a 5.7 y reconstruí la imagen y funcionó de forma normal:

 version: '2' services: db: image: mysql:5.7 

Esta es mi definición de databdase en mi docker-componer:

 dataBase: image: mysql:8.0 volumes: - db_data:/var/lib/mysql networks: z-net: ipv4_address: 172.26.0.2 restart: always entrypoint: ['docker-entrypoint.sh', '--default-authentication-plugin=mysql_native_password'] environment: MYSQL_ROOT_PASSWORD: supersecret MYSQL_DATABASE: zdb MYSQL_USER: zuser MYSQL_PASSWORD: zpass ports: - "3333:3306" 

La línea relevante allí es el punto de entrada .

Después de comstackrlo y subirlo, puedes probarlo con:

 $ mysql -u zuser -pzpass --host=172.26.0.2 zdb -e "select 1;" Warning: Using a password on the command line interface can be insecure. +---+ | 1 | +---+ | 1 | +---+ 

Si obtiene este error en GitLab CI como yo: simplemente cambie de la versión más reciente a la versión 5.7;)

 # .gitlab-ci.yml rspec: services: # - mysql:latest (I'm using latest version and it causes error) - mysql:5.7 #(then I've changed to this specific version and fix!) 

Aquí está la solución que funcionó para mí después de la instalación de MySQL 8.0 en Windows 10.

Supongamos que el nombre de usuario de MySQL es root y la contraseña es admin

Abra el símbolo del sistema e ingrese los siguientes comandos:

cd C: \ Archivos de progtwig \ MySQL \ MySQL Server 8.0 \ bin

mysql_upgrade -uroot -padmin

mysql -uroot -padmin

ALTER USER ‘root’ @ ‘localhost’ IDENTIFICADO CON mysql_native_password POR ‘admin’

-Open MySQL Command Line Client

-Crea un nuevo usuario con un nuevo pase

Teniendo en cuenta un ejemplo de una ruta a una carpeta bin en la parte superior, aquí está el código que necesita ejecutar en el símbolo del sistema, línea por línea:

 cd C:\Program Files\MySQL\MySQL Server 5.7\bin MySQL -u root -p current password...*** CREATE USER 'nativeuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password'; 

-Entonces, puede acceder a Workbench nuevamente (debe poder hacer eso luego de crear una nueva conexión de host local y usar las nuevas credenciales para comenzar a usar el progtwig).

Configure una nueva conexión de host local con el nombre de usuario mencionado anteriormente (usuario nativo), inicie sesión usando la contraseña (new_password)

Imagen

Cortesía: preguntas frecuentes de UDEMY respondidas por el equipo de Career365

MySQLWorkbench 8.0.11 para macOS resuelve esto. Puedo establecer una conexión con la instancia de mysql protegida con contraseña de root que se ejecuta en la ventana acoplable.

Casi como las respuestas anteriores, pero pueden estar en consultas simples, recibí este error en mi aplicación de arranque de spring junto con hibernación después de la actualización de MySQL. Creamos un nuevo usuario ejecutando las consultas a continuación contra nuestro DB. Creo que este es un trabajo temporal para usar sha256_password en lugar de la última y buena autenticación caching_sha2_password.

 CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word'; GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost'; 

Como no pude encontrar una solución en otro lado, publicaré mis hallazgos aquí. Pude resolver esto simplemente ejecutando la siguiente consulta: UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = {username} Puede ser necesario reiniciar el servidor mysql, pero no en mi caso.

Abra mi comando de comando sql:

paso 1

luego ingresa la contraseña de mysql

paso 2

finalmente uso:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

consulte: https://stackoverflow.com/a/49228443/6097074

Gracias.

Descargar una versión de desarrollo de 8.0.11-rc me funcionó en un mac. con los siguientes comandos del acoplador:

 docker run --name mysql -p 3406:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql