Как исправить HY000 / 2054 при реализации MySQL с Abyss Web Server?

Я запускаю веб-сервер с использованием Abyss X1 и просто попытался реализовать сервер MySQL через PHP с помощью следующих двух сценариев:

connect_db.php:

#Connect on 'localhost' for user 'admin'
#with password 'RoboticCowboy2019' to database 'site_db'.
$dbc = mysqli_connect
( 'localhost' , 'admin', 'password', 'site_db' )
OR die
( mysqli_connect_error() );

#Set encoding to match PHP script encoding.
mysqli_set_charset($dbc, 'utf8' );

а также

require.php:

#Incorporate the MySQL connection script.
require ('../connect_db.php');

#Display MySQL version and host.
if(mysqli_ping($dbc)){
echo 'MySQL Server'.mysqli_get_server_info($dbc).'on'.mysqli_get_host_info($dbc);
}

Тем не менее, когда я иду в Http: //localhost/require.php, Я получаю эти ошибки:

«Предупреждение: mysqli_connect (): сервер запросил неизвестный клиенту метод аутентификации [caching_sha2_password] в / Applications / Abyss Web Server / connect_db.php в строке 6»

«Предупреждение: mysqli_connect (): (HY000 / 2054): сервер запросил неизвестный клиенту метод аутентификации в / Applications / Abyss Web Server / connect_db.php в строке 6
Сервер запросил метод аутентификации, неизвестный клиенту

Я следую инструкциям книги, которая, как я знаю, устарела, но до сих пор мне удавалось обойти каждую проблему. Я также читал, что это как-то связано с обновлением MySQL и реализацией sha2, в то время как PHP все еще этого не делает? Я делаю это для своего класса compsci, поэтому я был бы признателен за любую помощь, которую я могу получить.

Спасибо!

0

Решение

Изменить пользователя

ALTER USER 'mysqluser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlpassword';

или использовать

shell>mysql --default-auth=mysql_native_password
0

Другие решения

Других решений пока нет …