Как исправить HY000 / 2054 при реализации MySQL с Abyss Web Server? - PullRequest
0 голосов
/ 06 января 2019

Я запускаю веб-сервер, использующий 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, поэтому я был бы признателен за любую помощь, которую я могу получить.

Спасибо!

1 Ответ

0 голосов
/ 06 января 2019

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

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

или используйте

shell>mysql --default-auth=mysql_native_password
...