Плагин аутентификации 'caching_sha2_password' не может быть загружен

59 Aman Aggarwal [2018-03-09 16:19:00]

Я подключаю MySQL - 8.0 к MySQL Workbench и получаю следующую ошибку:

Плагин аутентификации 'caching_sha2_password' не может быть загружен: dlopen (/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): изображение не найден

Я пробовал и с другим клиентским инструментом. Любое решение для этого?

database mysql mysql-workbench mysql-8.0


14 ответов


25 Решение Aman Aggarwal [2018-03-12 08:08:00]

Вы можете изменить шифрование пароля пользователя, изменив пользователя с помощью команды Alter:

ALTER USER 'username' @'ip_address' ИДЕНТИФИЦИРОВАН С mysql_native_password BY 'Пароль';

ИЛИ

Мы можем избежать этой ошибки, заставив ее работать со старым паролем -

Сначала измените плагин аутентификации в файле my.cnf для файла Linux/my.ini в Windows:

[mysqld]

default_authentication_plugin = mysql_native_password

Перезагрузите сервер mysql, чтобы принять изменения в аффекте и попробуйте подключиться через mysql с любым клиентом mysql.

Если все еще не удается подключиться и получить следующую ошибку:

Unable to load plugin 'caching_sha2_password'

Это означает, что ваш пользователь нуждается в вышеуказанном плагине. Поэтому попробуйте создать нового пользователя с командой create user или grant после изменения плагина по умолчанию. то новому пользователю нужен родной плагин, и вы сможете подключиться к MySQL.

Спасибо


51 Santhosh Sivan [2018-04-22 15:44:00]

Примечание. Для MAC OS

  • Откройте MySQL из системных настроек > Инициализировать базу данных >
  • Введите новый пароль.
  • Выберите "Использовать устаревший пароль"
  • Запустите сервер снова.
  • Теперь подключите Workbench MySQL

Image description


24 twocold [2018-04-20 09:57:00]

вы можете изменить шифрование пароля следующим образом.

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

22 Montecarlo [2018-04-24 03:42:00]

В настоящее время (2018/04/23) вам необходимо загрузить выпуск разработчика. GA не работают.

Мне не удалось подключиться к последней версии GA (6.3.10).

Он работал с mysql-workbench-community-8.0.11-rc-winx64.msi (из https://dev.mysql.com/downloads/workbench/, вкладкой выпуски развития).


12 井上智文 [2018-04-20 18:03:00]

как это?

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

Попробуйте в PWD

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

или Вы используете MySQL Workbench 8.0.11.


9 Araz Ghazaryan [2018-05-07 10:45:00]

Для Windows 10: Откройте командную строку

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

В качестве альтернативы вы можете изменить конфигурацию my.ini следующим образом:

[туздЫ]

default_authentication_plugin = mysql_native_password

Перезагрузите сервер MySQL и снова откройте Workbench.


5 Preetham [2018-04-25 00:18:00]

Для Windows 10,

  • Изменить файл my.ini в ** C:\ProgramData\MySQL\MySQL Server 8.0 **

[туздЫ] default_authentication_plugin = mysql_native_password

  1. Перезапустите службу MySQL

  2. войдите в MySQL в командной строке, выполните следующие команды в MySQL

  3. Создайте нового пользователя

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'user' @'localhost' IDENTIFIED BY 'password';

  1. Предоставить все привилегии

ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * TO 'user' @'localhost';

  1. Откройте Workbench MySQL, откройте новое соединение, используя новые учетные данные пользователя.

Я столкнулся с той же проблемой, и это сработало.


4 Bruno Casali [2018-04-25 07:39:00]

Если вы получаете эту ошибку в GitLab CI, как я: Просто измените с последней версии на 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!)

4 Dylan Pierce [2018-05-07 17:01:00]

Для тех, кто использует Docker или Docker Compose, я столкнулся с этой ошибкой, потому что я не установил версию образа MySQL. Docker автоматически попытается получить последнюю версию, которая составляет 8.

Я установил MySQL на 5.7 и перестроил образ, и он работал нормально:

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

3 axelferreira [2018-05-02 12:07:00]

У меня была та же проблема, но это не делалось для меня с контейнером Docker с mysql 8.X. Я зарегистрировал контейнер

docker exec -it CONTAINER_ID bash

затем войдите в mysql как root

mysql --user=root --password

Введите пароль для root (по умолчанию "root" ) Наконец Run:

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

Вы все настроены.


3 Ahmed Ziyad [2018-04-30 16:37:00]

-Откройте клиент командной строки MySQL

-Создайте нового пользователя с новым проходом

Рассмотрим пример пути к папке bin сверху, здесь код, который нужно запустить в командной строке, по очереди:

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';

-Тогда вы снова можете получить доступ к Workbench (вы можете это сделать после создания нового подключения к локальному хосту и использования новых учетных данных для начала использования программы).

Настройте новое подключение локального хоста с указанным выше именем пользователя (собственный пользователь), войдите с помощью пароля (new_password)

Изображение

Предоставлено: Вопросы UDEMY, ответы на которые заданы командой Career365


1 Benjamin Lin [2018-05-11 02:55:00]

MySQLWorkbench 8.0.11 для macOS адресует это. Я могу установить соединение с защищенным паролем экземпляром mysql, работающим в докере.


0 JoshuaTree [2018-05-25 07:20:00]

Я отказался от моего файла для компоновки docker, чтобы использовать вариант версии mysql версии 5. Потому что я понятия не имею, почему mysql 8 внезапно сталкивается с этими проблемами, из-за чего я не могу удаленно подключиться к нему с первого раза.


0 maximatt [2018-05-27 01:10:00]

Это определение моей базы данных в моей докере:

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"

В соответствующей строке есть точка входа.

После сборки и продолжения вы можете протестировать его с помощью:

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