Я пытаюсь настроить свой собственный локальный сервер в Windows 7 с бинарными версиями PHP, Apache, MySQL и phpMyAdmin. Я успешно настроил и запустил Apache с PHP.
Теперь я хочу настроить MySQL и phpMyAdmin. Сначала я создал файл my.cnf с кодом
[mysqld]
bind-address = 127.0.0.1
default_authentication_plugin = mysql_native_password
и затем я запускаю команду CMD
D:/Server/mysql/bin/mysqld.exe --initialize --console
и получил папку D:Server/mysql/data с файлами в ней
Мои HTML-файлы будут в папке D:/Server/localhost. Поэтому я вставил туда распакованную папку phpMyAdmin и добавил в ее config.in.php следующие строки:
...
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['ServerDefault'] = 1;
Затем я запустил MySQL командой
D:/Server/mysql/bin/mysqld.exe --console
и в командной строке я получаю
.../mysqld.exe ready for connections
... X Plugin ready for connections
Но теперь, если я попытаюсь войти в phpMyAdmin с именем пользователя root и пустым паролем, я получаю сообщение об ошибке
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
Там на SO я прочитал https://stackoverflow.com/a/52364450/3208225, но у меня уже есть строка default_authentication_plugin= mysql_native_password в my.cnf
Я также читал, что мы можем войти в систему как root и установить пароль, но я действительно не понимаю, как я могу это сделать.






попробуйте установить ['auth_type'] на: $cfg['Servers'][$i]['auth_type'] = 'config';.
Когда я установил phpmyadmin, я сделал ту же ошибку. Надеюсь, это сработает, для меня это сработало.
С уважением.
Хорошо, проблема была в том, что я инициализировал каталог data с помощью команды
>mysqld.exe --initialize --console
который генерирует временный пароль, но я ожидал войти в систему без пароля. Поэтому, если мы хотим использовать пустой пароль, мы должны инициализировать каталог данных с помощью команды
>mysqld.exe --initialize-insecure --console
и мы можем установить пароль позже
Ссылка:https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization.html
Теперь, когда я захожу в
http://localhost/phpmyadmin/index.php, я получаю сообщение об ошибкеMySQL said: Documentation. Cannot connect: invalid settings.