Я использую MySQL версии 8 на PHP 7.0.
Я получаю следующую ошибку при попытке подключиться к моей базе данных из PHP:
Ошибка подключения: SQLSTATE [HY000] [2054] Сервер запросил метод проверки подлинности, неизвестный клиенту
Как это исправить?
Вы должны изменить настройки MySQL.
Отредактируйте файл my.cnf и поместите этот параметр в раздел mysqld:
[mysqld]
default_authentication_plugin= mysql_native_password
@mohammed, это обычно связано с плагином аутентификации, который использует ваша база данных mysql.
По умолчанию и по какой-то причине плагином mysql 8 по умолчанию является auth_socket. Приложения чаще всего ожидают входа в вашу базу данных, используя пароль.
Если вы еще не изменили свой плагин аутентификации по умолчанию для mysql, вы можете сделать это:
1. Войдите как root в mysql.
2. Запустите эту команду sql:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
Замените «пароль» вашим корневым паролем. Если ваше приложение не входит в вашу базу данных с пользователем root, замените пользователя ‘root’ в приведенной выше команде на пользователя, которого использует ваше приложение.
Цифровой океан объясняет здесь немного больше Установка Mysql
Я пробовал много способов, но только эта работа для меня
Спасибо обходной путь
Проверьте свои
**. Окр
MYSQL_VERSION=latest
затем введите эту команду
$ docker-compose exec mysql bash
$ mysql -u root -p
(войдите как root)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
затем зайдите в phpmyadmin и войдите как:
надеюсь, это поможет
проверьте имя пользователя и пароль сервера sql, если ваши работающие xampp или wampp проверяют имя пользователя и пароль phpmyadmin