mysql database mysql-workbench mysql-8.0

mysql - El complemento de autenticación ''caching_sha2_password'' no se puede cargar



database mysql-workbench (25)

¿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

Probar en PWD

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

o Debe usar MySQL Workbench 8.0.11.

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

He intentado con otra herramienta de cliente también.

¿Alguna solución para esto?


-Abrir cliente de línea de comandos MySQL

-Crear un nuevo usuario con un nuevo pase

Considerando un ejemplo de una ruta a una carpeta bin en la parte superior, aquí está el código que debe 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 (debería poder hacerlo después de crear una nueva conexión de host local y usar las nuevas credenciales para comenzar a usar el programa).

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

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


Abrir mi comando SQL:

luego ingrese la contraseña de mysql

finalmente use:

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

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

Gracias.


Actualmente (el 23/04/2018), debe 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 (de https://dev.mysql.com/downloads/workbench/ , pestaña Development Releases ).


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 MySQL es root y la contraseña es admin

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

cd C: / Archivos de programa / MySQL / MySQL Server 8.0 / bin

mysql_upgrade -uroot -padmin

mysql -uroot -padmin

ALTERAR USUARIO ''root'' @ ''localhost'' IDENTIFICADO CON mysql_native_password POR ''admin''


Casi como las respuestas anteriores, pero puede estar en consultas simples, recibí este error en mi aplicación de arranque de primavera junto con hibernar después de la actualización de MySQL. Creamos un nuevo usuario ejecutando las consultas a continuación en nuestra base de datos. Creo que esta es una solución 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'';


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

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 construirlo 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 | +---+


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

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

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

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


Este error aparece cuando la herramienta utilizada no es compatible con MySQL8, intente actualizar a la última versión de MySQL Workbench para MySQL8


La descarga de una versión de desarrollo de 8.0.11-rc me funcionó en una Mac. con los siguientes comandos de docker:

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


La siguiente solución funcionó para mí

Vaya a Mysql Workbench -> Servidor-> Usuarios y privilegios 1.Haga clic en Agregar cuenta

2.En la pestaña de inicio de sesión, proporcione nuevos detalles y asegúrese de elegir el tipo de autenticación como estándar y elija las funciones administrativas y los privilegios de esquema respectivos


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


Nota: para MAC OS

  1. Abra MySQL desde Preferencias del sistema> Inicializar base de datos>
  2. Escribe tu nueva contraseña.
  3. Elija ''Usar contraseña heredada''
  4. Inicie el servidor nuevamente.
  5. Ahora conecte el MySQL Workbench


Ok, perdí mucho tiempo en esto, así que aquí hay un resumen del 19 de marzo de 2019

Si está tratando específicamente de usar una imagen Docker con MySql 8+ , y luego usa SequelPro para acceder a su (s) base (s) de datos que se ejecutan en ese contenedor docker, no tiene suerte.

Vea el número 2699 de sequelpro

Mi configuración es sequelpro 1.1.2 usando docker desktop 2.0.3.0 (mac - mojave), e intenté usar mysql: latest (v8.0.15).

Como otros han informado, el uso de mysql 5.7 funciona sin necesidad de nada:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7

Por supuesto, es posible usar MySql 8+ en Docker, y en esa situación (si es necesario), otras respuestas proporcionadas aquí para caching_sha2_password tipo caching_sha2_password funcionan. Pero sequelpro es un NO GO con MySql 8+

Finalmente, abandoné sequelpro (un amigo de confianza de 2013-2014) y en su lugar instalé DBeaver . Todo salió de la caja. Para docker, usé:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:latest --default-authentication-plugin=mysql_native_password

Puede echar un vistazo rápido a las bases de datos mysql usando:

docker exec -it mysql1 bash mysql -u root -p show databases;


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 la 8.

Configuré MySQL a 5.7 y reconstruí la imagen y funcionó normalmente:

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



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

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


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

ALTERAR USUARIO ''username'' @ ''ip_address'' IDENTIFICADO CON mysql_native_password POR ''contraseña'';

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

Reinicie el servidor mysql para tomar los cambios en efecto e intente conectarse 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 comando crear usuario o otorgar después de cambiar el complemento predeterminado. entonces el nuevo usuario necesita el complemento nativo y podrá conectarse a MySQL.

Gracias


Resolví este problema instalando MySQL 5.7:

Paso 1 - Habilite el repositorio MySQL

En primer lugar, debe habilitar MySQL 5.7 community release yum repositorio en su sistema. Los paquetes rpm para la configuración del repositorio de yum están disponibles en el sitio web oficial de MySQL. Utilice uno de los siguientes comandos según la versión de su sistema operativo.

En CentOS y RHEL 7

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

En CentOS y RHEL 6

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

En Fedora 27

dnf install https://dev.mysql.com/get/mysql57-community-release-fc27-9.noarch.rpm

En Fedora 26

dnf install https://dev.mysql.com/get/mysql57-community-release-fc26-9.noarch.rpm

En Fedora 25

dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm

Paso 2 - Instalar el servidor MySQL 5.7

Como ha habilitado con éxito el repositorio de MySQL yum en su sistema. Ahora, instale el servidor de comunidad MySQL 5.7 usando los siguientes comandos según la versión de su sistema operativo.

En CentOS y RHEL 7/6

yum install mysql-community-server

En Fedora 27/26/25

dnf install mysql-community-server

fuente: https://tecadmin.net/install-mysql-5-7-centos-rhel/


Si recibe este error en GitLab CI como yo: simplemente cambie de la última versión a la 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!)


Tuve el mismo problema, pero la respuesta de Aman Aggarwal no funcionó para mí con un contenedor Docker que ejecuta mysql 8.X. Logueé 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 root (el valor predeterminado es ''root'') Finalmente, ejecute:

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

Estás listo.


Volver a las instalaciones anteriores (a MySQL Community Server 5.7 y Workbench 6.1) y configurar nuevas credenciales de MySQL funcionó para mí.


encontre eso

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

No funcionó por sí mismo. También necesitaba configurar

[mysqld] default_authentication_plugin=mysql_native_password

en /etc/mysql/mysql.conf.d/mysqld.cnf en Ubuntu 18.04 con PHP 7.0


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. Crea un nuevo usuario

CREAR USUARIO ''usuario'' @ ''localhost'' IDENTIFICADO POR ''contraseña'';

  1. Conceder todos los privilegios

OTORGUE TODOS LOS PRIVILEGIOS EN *. * A ''user'' @ ''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 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 de my.ini de la siguiente manera:

[mysqld]

default_authentication_plugin = mysql_native_password

Reinicie el servidor MySQL y abra el Workbench nuevamente.