Плагин аутентификации '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
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
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
-
Перезапустите службу MySQL
-
войдите в MySQL в командной строке, выполните следующие команды в MySQL
-
Создайте нового пользователя
СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'user' @'localhost' IDENTIFIED BY 'password';
- Предоставить все привилегии
ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * TO 'user' @'localhost';
- Откройте 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 |
+---+