Ошибка метода аутентификации MySQL - кэширование SHA-2 - PullRequest
0 голосов
/ 02 мая 2018

При попытке доступа к phpmyadmin на моем локальном хосте я получаю следующие ошибки:

Невозможно войти на сервер MySQL

mysqli_real_connect (): сервер запросил неизвестный клиенту метод аутентификации [caching_sha2_password]

mysqli_real_connect (): (HY000 / 2054): сервер запросил метод аутентификации, неизвестный клиенту

После исследования я понял, что мне нужно изменить метод аутентификации для пароля моего пользователя. Что я и сделал по этой ссылке . Я также убедился, что информация в файле config.inc.php верна. Тем не менее, я все еще получаю ту же ошибку.

Не могу понять:

  1. Каков текущий метод аутентификации для MySQL?
  2. Что это должно быть?
  3. Как мне это изменить? И это изменится для всей конфигурации MySQL или для каждого пользователя отдельно?

Обновление Я заметил две вещи:

  1. В пользовательской таблице есть поле "пароль", но есть строка "authentication_string"
  2. Длина строки "authentication_string" составляет 41. Хотя я установил пароль на 9 символов и вошел в систему, используя их.
    1. Значение "плагина" равно "caching_sha2_password"

  • macOS High Sierra 10.13.3
  • Apache 2.4.28
  • PHPMyAdmin 4.8.0.1
  • MySQL 8.0.11

1 Ответ

0 голосов
/ 04 мая 2018

Кажется, что MySQL изменил свой стиль аутентификации между выпусками 8.0.4 и 8.0.11. Я не очень понимаю, почему такое большое изменение было бы реализовано в младшем выпуске, нарушив семантическое управление версиями , но, тем не менее, мы здесь.

Уже есть сообщение об ошибке PHP и сообщение об ошибке phpMyAdmin об этом.

A предыдущий вопрос Stackoverflow об этом пришел с ответом, в котором предлагалось внести некоторые изменения в конфигурацию MySQL и изменить учетную запись пользователя ... хотя я на самом деле не проверял это и не одобряю предлагаемые изменения, похоже, единственный способ заставить MySQL 8.0.11 работать с PHP / phpMyAdmin в настоящее время.

...