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

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

Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(/usr/local/mysql/lib/plugin/caching_sha2_password.so, 2): image not found

Я пробовал и с другим клиентским инструментом.

Любое решение для этого?

Вы можете решить эту проблему, если сконфигурируете MySQL 8.0 для работы в режиме mysql_native_password.

Raymond Nijland 09.03.2018 15:07

Верно, MySQL Workbench нуждается в обновлении коннектора, чтобы иметь возможность работать с кэшированными паролями sha2 (скоро).

Mike Lischke 10.03.2018 19:47

@RaymondNijland, как это настроить?

Aman Aggarwal 12.03.2018 05:42

Я установил логин по умолчанию на собственный и перезапущен, проблема сохраняется, и я не могу войти в систему, чтобы создать нового пользователя. Удивительно, что в 2018 году установка Mysql и workbench не закончилась. Низкий контроль качества.

ChrisR 29.05.2018 20:33

@AmanAggarwal MySql Workbench имеет новую версию, совместимую с MySQL 8.0. Это RC, но я не делаю исключений, он отлично смотрится =).

Salih KARAHAN 30.06.2018 02:31

@MikeLischke Поскольку я просто читать, caching_sha2_password не доступен отдельно, потому что он статически связан в libmysql.dll. Это очень хорошо для крупного обновления, мне только интересно, почему есть только 64-битная версия libmysql, а для 32-битной нет? Действительно ли Oracle отказалась от 32-битных серверных систем?

Anse 23.07.2018 21:24

Не знаю, откуда у вас такое впечатление, что 32-битной клиентской библиотеки mysql больше не будет, но это неправда. Верно то, что MySQL Workbench больше не поставляется с 32-битной версией.

Mike Lischke 24.07.2018 08:46

На mysql.com просто нет возможности скачать 32-битную версию. Если вы говорите, что это неправильно, возможно, мне нужно запустить установщик на 32-битной Windows, чтобы получить его. Не уверен, где я его беру в противном случае.

Anse 24.07.2018 15:00

Просто попытался установить на 32-битную Windows 7, тогда установщик говорит, что он содержит только 64-битный сервер, а не 32-битную версию.

Anse 25.07.2018 21:49

Те ответы, которые предлагают использовать более слабое шифрование, - неправильный путь. Используйте другие клиенты, например tableplus.

ohkts11 28.04.2019 07:38
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
536
10
704 001
31
Перейти к ответу Данный вопрос помечен как решенный

Ответы 31

Ответ принят как подходящий

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

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

ИЛИ ЖЕ

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

Сначала измените плагин аутентификации в файл 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.

Спасибо

Однозначно это не решение проблемы с отсутствующим плагином.

LibertyPaul 21.04.2018 16:52

Это. Проблема в том, что программное обеспечение для управления БД с этим пока не справляется. Так что, если вы не являетесь разработчиком рабочей среды mysql, на данный момент это ваш обходной путь.

Kevin Gagnon 07.05.2018 21:11

Работал у меня. Спасибо

Lucas Araújo 14.05.2018 03:00

Часть о создании нового пользователя после добавления флага конфигурации имеет решающее значение.

nipponese 21.06.2018 00:20

вы можете изменить шифрование пароля вот так.

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

Что, если OP захочет использовать новый крутой метод аутентификации?

LibertyPaul 21.04.2018 16:50

@twocold Как вы «отмените» указанное выше ALTER USER и вернетесь к стандарту MySQL 8.0 (новый уровень шифрования) после того, как вы это сделаете, и это не сработает?

Will Belden 27.11.2018 21:53

@LibertyPaul, что это за новый классный метод аутентификации, который ломает все? Есть ссылка или термин, который я могу погуглить?

Brian FitzGerald 25.01.2019 14:04

@BrianFitzGerald это "caching_sha2_password", ссылка здесь или здесь.

y k 19.02.2019 14:21

Это сработало. Спасибо чувак. ALTER USER 'root' @ 'localhost' ИДЕНТИФИЦИРОВАН mysql_native_password BY 'root';

Vivek Garg 20.03.2019 13:29

Кто-то еще упомянул о добавлении этого default_authentication_plugin=mysql_native_password в конфигурацию, но у меня это не сработало. Использование оператора ALTER сработало. Спасибо! :)

Carl Du Plessis 19.03.2020 15:55

Если это имеет смысл, вы можете подумать о создании специального пользователя для MySQL Workbench (с загадочным именем пользователя и паролем и минимальными разрешениями, предоставленными для таблицы) и использовать его для подключения к базе данных с помощью инструмента. Вы можете уменьшить поверхность подключения для использования менее безопасной аутентификации. Когда установка Workbench / MySQL начнет поддерживать новый метод аутентификации, вы можете удалить этого пользователя.

FooF 10.06.2020 16:44

Мне пришлось изменить localhost на "%". Это позволяет удаленно подключаться к root. ALTER USER 'root' @ '%' ИДЕНТИФИЦИРОВАН mysql_native_password BY 'mypasswrd';

Jack BeNimble 10.11.2020 05:17

Это хороший подход для других клиентов, поскольку они могут не поддерживать новый метод аутентификации из MySQL 8.

d70rr3s 14.11.2020 11:11

Это решение. У меня это сработало.

Renjith 14.01.2021 17:38

спасибо большое, брат

Mohit Singh 16.03.2021 12:22

[в 2021 году] Я только что набрал строку кода, и я отлично работал! Благодарность!! @twocold

Fabiano Oliveira 23.04.2021 17:03

как это?

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.

добавление --default-authentication-plugin = mysql_native_password работает как шарм <3 спасибо

Thomas Webber 27.08.2018 16:36

Примечание: для MAC OS

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

Image description

Это помогло на OSX

Salam 28.04.2018 19:11

Эта работа, спасибо. Я думаю, это работает, потому что рабочая среда MySQL использует устаревшее шифрование паролей для подключения к серверу БД. Это также можно сделать при установке MySQL и выборе устаревшего шифрования вместо рекомендованного надежного шифрования пароля.

monkSinha 07.05.2018 07:53

Некоторые версии mysql имеют другую панель настроек, и это не может работать

Michael Yang 01.06.2018 05:05

Реклама возврата к старой и менее безопасной аутентификации - это вообще хорошее решение нет.

Mike Lischke 13.06.2018 08:16

У меня нет MySQL в системных настройках

JavaRunner 23.07.2018 05:44

Вы можете настроить MySQL в системных настройках, выполнив следующие действия: dev.mysql.com/doc/refman/5.7/en/osx-installation-prefpane.ht‌ мл

Sam Houston 14.09.2018 15:27

Спасибо за подсказку! Я бы никогда не понял этого, не потратив на это много времени. :)

DigiOz Multimedia 16.11.2019 21:17

это сработало. У меня был установлен старый верстак mysql. Благодарю.

Joel 08.10.2020 00:28

Есть какие-нибудь изменения на этом фронте? Возможно ли сейчас, в конце 2020 года, использовать MariaDb для подключения к MySQL без использования устаревшей системы безопасности?

jpinelo 10.11.2020 14:44

Итак, это, вероятно, моя собственная глупая ошибка в том, что я не читал / не верил в мелкий шрифт, но я попробовал это решение, и оно не только не сработало, но и стерло данные в моем экземпляре: «Если каталог данных уже существует, он будет удалено "

Richard W 15.12.2020 23:04

В настоящее время (23.04.2018) вам необходимо загрузить файл выпуск разработки. GA не работают.

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

Работало с mysql-workbench-community-8.0.11-rc-winx64.msi (из https://dev.mysql.com/downloads/workbench/, вкладка Релизы в разработке).

На самом деле это правильный ответ: MySQL 8.0 требует MySQL Workbench 8.0, которая, к сожалению, все еще находится в бета-режиме. Но после установки вы можете использовать новое шифрование паролей SHA, ничего менять не нужно.

Cristi S. 07.06.2018 18:43

Не бета-версия, а релиз-кандидат (RC). Версия GA (общедоступная) скоро появится.

Mike Lischke 13.06.2018 08:17

Лучшая идея для меня.

Wojciech Fornal 09.07.2018 09:51

Это все еще актуально. Установка версии GA по-прежнему приводит к невозможности входа в систему с использованием рекомендованного шифрования пароля. Нет предупреждения о том, что версия GA работает только с устаревшей аутентификацией.

Donald Rich 09.07.2018 12:59

По крайней мере, в MacOS версия GA в настоящее время - 8.0.12 (2018/08/13) и решает проблему! Спасибо!

Bruno Silvano 13.08.2018 22:07

Для Windows 10,

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

    [mysqld]
    default_authentication_plugin=mysql_native_password
    
  2. Перезапустите службу MySQL.

  3. Войдите в MySQL из командной строки и выполните следующие команды в MySQL:

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

      CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
      
    • Даруй все привилегии.

      GRANT ALL PRIVILEGES ON * .* TO 'user'@'localhost';
      
  4. Откройте рабочую среду MySQL и откройте новое соединение, используя новые учетные данные пользователя.

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

Если вы получаете эту ошибку в GitLab C, мне нравится: Просто смените последнюю версию на 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!)
  • Откройте клиент командной строки 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 (вы сможете сделать это после создания нового подключения localhost и использования новых учетных данных для начала использования программы).

Установите новое соединение с локальным хостом с указанным выше именем пользователя (собственный пользователь), войдите в систему, используя пароль (новый_пароль)

Image

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

Это сработало. Почему? Я получил эту ошибку при попытке подключиться к root и без пароля, которая работала в командной строке, но не в Sequel Pro.

Volte 01.01.2019 00:50

работают как шарм, полная корреляция с вопросом о запуске потока и обратите внимание: у вас должна быть Mac os Catalina, docker 19.03, последние образы mysql, выполнение этой команды $ docker run -p 3306: 3306 -d --name mysql -e MYSQL_ROOT_PASSWORD = password mysql / mysql-server с сайта dzone.

banzai 24.05.2020 13:55

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

docker exec -it CONTAINER_ID bash

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

mysql --user=root --password

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

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

Все готово.

Похоже, это может быть хорошим ответом на то, что я ищу. Но я не знаю, что это такое. ты имеешь ввиду принятый ответ? или другой ...

Zach Smith 02.07.2018 04:46

Да @ZachSmith, «это» относится к принятому ответу.

axelferreira 03.07.2018 11:02

Как насчет docker exec -it CONTAINER_ID mysql --user=root --password вместо двух команд, которые зависят от наличия оболочки bash (что неизвестно в будущем)?

Eric 22.08.2018 11:37

Это не работало с sequelpro 1.1.2 с использованием рабочего стола Docker 2.0.3.0 (mac). все команды работают, но ошибки sequel pro при входе в систему - с использованием mysql: latest (v8.0.15)

arcseldon 19.03.2019 07:53

Как сообщали другие, использование mysql 5.7 ничего не требует: docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7

arcseldon 19.03.2019 08:05

Много истории с этой проблемой - github.com/sequelpro/sequelpro/issues/2699

arcseldon 19.03.2019 08:11

это решило мою проблему, но на следующий день она снова появилась. Я не знаю почему, но если я закрою базу данных и перезапущу ее, мне нужно снова изменить пользователя ...

Panagiss 04.12.2020 18:35

Для 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 следующим образом:

[mysqld]

default_authentication_plugin=mysql_native_password

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

Изменение my.ini не сработало бы для меня, но изменение командной строки сработало.

amelvin 29.08.2018 16:25

Расположение файла my.ini: stackoverflow.com/a/20311286/923560

Abdull 07.04.2020 14:37

Я просто хочу отметить, что конфигурация должна выполняться на сервере, к которому вы хотите подключиться, и ALTER USER работал на меня, чтобы подключиться из Windows к удаленному серверу mysql.

Alcides 26.04.2020 04:51

Не ограничивается Windows 10

Geza Turi 11.06.2020 17:49

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

Я установил MySQL на 5.7 и перестроил образ, и он работал как обычно:

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

Есть веские причины использовать версию 8 вместо версии 5. Я на этой странице, потому что хочу использовать версию 8 вместо версии 5.

Zach Smith 02.07.2018 04:30

использование mysql:5.7 вместо mysql:latest решило проблему для меня

Francesco Borzi 17.11.2018 15:17

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

Это то, что исправило это для меня. Я использовал старую версию MySQL Workbench 6.3 с сервером 8.0. Хотя многие ответы здесь говорят о понижении совместимости с сервером, я просто обновил свою версию Workbench до последней версии 8.0 (в настоящее время 8.0.15).

Sum None 16.03.2019 23:19

Это мое определение базы данных в моем 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"

Соответствующая строка там - точка входа.

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

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

Почти как ответы выше, но могут быть в простых запросах, я получал эту ошибку в своем приложении весенней загрузки вместе со спящим режимом после обновления MySQL. Мы создали нового пользователя, выполнив приведенные ниже запросы к нашей БД. Я считаю, что это временная работа, чтобы использовать sha256_password вместо последней и хорошей аутентификации caching_sha2_password.

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';

GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';

Вот решение, которое сработало для меня после установки MySQL 8.0 в Windows 10.

Предположим, что имя пользователя MySQL - root, а пароль - admin.

Откройте командную строку и введите следующие команды:

cd C:\Program Files\MySQL\MySQL Server 8.0\bin

mysql_upgrade -uroot -padmin

mysql -uroot -padmin

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin'

Я устанавливал MySQL на свой ПК с Windows 10, используя «Веб-установщик MySQL», и столкнулся с той же проблемой при попытке подключиться с помощью рабочей среды MySQL. Я исправил проблему, перенастроив сервер из окна установщика.

MySQL Web Installer - Home Screen

Нажав на опцию «Перенастроить», вы сможете перенастроить сервер. Нажимайте «Далее», пока не дойдете до «Метод аутентификации».

MySQL Installer - Authentication Method

На этой вкладке используйте вторую опцию «Использовать устаревший метод аутентификации (сохранить совместимость с MySQL 5.x)».

Оставьте все остальное как есть, и именно так я решил свою проблему.

Я вручную разархивирую mysql-8.0.11-winx64.zip и не могу легко решить проблему "caching_sha2_password не может быть загружен". Однако, используя mysql-installer-community-8.0.11.0.msi, и я следую приведенной выше рекомендации, MySQL Workbench 8.0.11 может войти на сервер MySQL 8.0.11.

oraclesoon 29.06.2018 11:58

Откройте мою командную строку sql:

step 1

затем введите пароль mysql

step 2

наконец используйте:

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

см .: https://stackoverflow.com/a/49228443/6097074

Спасибо.

Загрузка разрабатываемой версии 8.0.11-rc у меня сработала на Mac. со следующими командами докера:

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

Для меня это началось, потому что в проекте я использовал образ Docker mysql: latest (который был версией 5 и работал нормально), а во время более поздней сборки последняя версия была переключена на версию 8, и перестал работать. Я изменил мое изображение на mysql: 5 и я был больше не получаю эту ошибку.

Прямо по голове! Спасибо.

brcebn 02.12.2018 10:27

Приведенное ниже решение сработало для меня

Перейдите в Mysql Workbench -> Сервер-> Пользователи и привилегии. 1.Нажмите Добавить учетную запись.

2. На вкладке «Вход в систему» ​​введите новые сведения и убедитесь, что в качестве типа аутентификации выбрано стандарт, а также выберите соответствующие административные роли и привилегии схемы.

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

Шаг 1. Включите репозиторий MySQL

Прежде всего, вам необходимо включить в вашей системе репозиторий yum, выпущенный сообществом MySQL 5.7. Пакеты rpm для конфигурации репозитория yum доступны на официальном сайте MySQL. Используйте одну из следующих команд в соответствии с версией вашей операционной системы.

На CentOS и RHEL 7

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

На CentOS и RHEL 6

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

В Fedora 27

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

В Fedora 26

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

В Fedora 25

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

Шаг 2 - Установите сервер MySQL 5.7

Поскольку вы успешно включили репозиторий MySQL yum в своей системе. Теперь установите сервер сообщества MySQL 5.7, используя следующие команды в соответствии с версией вашей операционной системы.

На CentOS и RHEL 7/6

yum install mysql-community-server

На Fedora 27/26/25

 dnf install mysql-community-server

источник: https://tecadmin.net/install-mysql-5-7-centos-rhel/

Откат к предыдущим установкам (MySQL Community Server 5.7 и Workbench 6.1) и установка новых учетных данных MySQL сработали для меня!

Хорошо, потратил много времени на это, так что вот сводка по состоянию на 19 марта 2019 г.

Если вы специально пытаетесь использовать образ Docker с MySql 8+, а затем используете SequelPro для доступа к своим базам данных, работающим в этом контейнере докеров, вам не повезло.

См. sequelpro, выпуск 2699

Моя установка - sequelpro 1.1.2 с использованием рабочего стола докера 2.0.3.0 (mac - mojave) и пробовала использовать mysql: latest (v8.0.15).

Как сообщали другие, использование mysql 5.7 ничего не требует:

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

Конечно, можно использовать MySql 8+ на докере, и в этой ситуации (при необходимости) другие ответы, представленные здесь для проблем типа caching_sha2_password, работают. Но с MySql 8+ sequelpro НЕ ПРОХОДИТ

Наконец, я отказался от sequelpro (моего надежного друга в 2013-2014 годах) и вместо этого установил DBeaver. Все заработало из коробки. Для докера я использовал:

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

Вы можете быстро просмотреть базы данных mysql, используя:

docker exec -it mysql1 bash

mysql -u root -p

show databases;

Большое спасибо за то, что поделились этим. Я пробовал ту же самую комбинацию после случайного удаления моего контейнера MySQL dev.

martn_st 19.03.2019 22:19

Очень грустно, что Sequel Pro больше не активно развивается :( Последние новости датированы 3 апреля 2016 года, а это уже 2019 год. Это был лучший инструмент, который я видел для MySQL Explorer.

Oleksii Shnyra 20.04.2019 11:29

@OleksiiShnyra: правда, серийных выпусков не было несколько лет, но, к вашему сведению, доступны более новые «ночные» выпуски. sequelpro.com/test-builds и через brew cask install homebrew/cask-versions/sequel-pro-nightly.

Peter W 08.05.2019 09:30

Существует обходной путь, который может заставить SequelPro работать, для тех, кто может войти в систему через командную строку (клиент mysql) и ALTER, свою таблицу myslq.user, отмеченную здесь: github.com/sequelpro/sequelpro/issues/…

Peter W 08.05.2019 09:32

Если вы используете MySQL 8 и не хотите переходить на mysql_native_password, вы можете выполнить следующее: stackoverflow.com/a/56402217/2321594

Aidin 01.06.2019 00:22

Эта ошибка возникает, когда используемый инструмент несовместим с MySQL8, попробуйте обновить до последней версии MySQL Workbench для MySQL8.

я нашел это

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

не работал сам по себе. Мне также нужно было установить

[mysqld]
    default_authentication_plugin=mysql_native_password

в /etc/mysql/mysql.conf.d/mysqld.cnf на Ubuntu 18.04 с PHP 7.0

У меня это сработало на Centos 7. По какой-то причине мои пароли по умолчанию были сохранены как caching_sha2_password, и я получал ошибку № 1251 при попытке войти в систему с помощью phpMyAdmin.

DaFudgeWizzad 21.06.2019 16:39

Если вы пытаетесь подключиться к серверу MySQL из текстового клиента MySQL с другого компьютера (будь то Docker или нет)

Большинство ответов здесь связаны с подключением с настольного клиента или с просьбой переключиться на более старый метод аутентификации. Если вы подключаете его к клиенту MySQL (текстовому), я заставил его работать с Debian Buster в контейнере Docker.

Допустим, у вас есть система apt и настроен wget, выполните следующие действия:

  1. sudo apt-get update
  2. sudo apt-get install lsb-release -y
  3. Загрузите пакет Debian, который обновляет исходные коды apt для вас, из Веб-сайт MySQL.
  4. sudo dpkg -i mysql-apt-config_0.8.13-1_all.deb и выберите нужные параметры. В моем случае мне нужно только включить MySQL Tools & Connectors.
  5. sudo apt-get update
  6. sudo apt-get install mysql-client -y
  7. Сделанный. Теперь вы можете запустить новый клиент MySQL и подключиться с помощью нового метода аутентификации.

Это был правильный ответ на проблемы WSL, спасибо!

Andrew Landsverk 10.06.2020 18:08

Попробуйте использовать старый пароль при загрузке и установке MySql, это мне помогло. Или следуйте методу, опубликованному Santhosh Shivan для Mac OS.

Хотя это не должно быть настоящий решение, оно работает локально, если вы застряли

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';

На самом деле MySql допускает два типа аутентификации во время установки.

  1. Шифрование паролей
  2. Устаревшее шифрование

Прочтите здесь

Итак, проверив устаревшую аутентификацию, проблема была решена.

Примечание: для Linux (Debian, Ubuntu, Mint)

У меня такая ошибка:

MySQL Error Message: Plugin caching_sha2_password could not be loaded: /usr/lib/x86_64-linux-gnu/mariadb19/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory

Я решил с помощью следующих шагов:

  1. Введите в консоли mysql: $ mysql -u root -p, если у вас нет пароля для пользователя root, тогда:

  2. Используйте mysql db: mysql> use mysql;

  3. Измените своего пользователя для решения проблемы: mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

  4. Выход ... mysql> quit;

  5. Сделанный!

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

Wordpressor 10.12.2020 13:16

это решило мою ошибку. Спасибо

Umair Qudus 08.03.2021 17:53

Вы только что включили устаревшую парольную аутентификацию. Не лучшее решение.

Houman 14.03.2021 08:56

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

Muhammad Wajahat Anwar 11.04.2021 12:01

Просто скачали последнюю версию mysqlworkbench, совместимую с последней версией шифрования:

https://downloads.mysql.com/archives/workbench/

Примечание. На Mac big Sur две последние версии: 8.0.22 и 8.0.23 содержат ошибки и не работают.

Используйте 8.0.21, пока они не будут исправлены

Другие вопросы по теме