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




database mysql-workbench (17)

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


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'


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.


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


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;


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

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

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!)

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: 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.







mysql-8.0