使用 Abyss Web 服务器实施 MySQL 时如何修复 HY000/2054?

How to fix HY000/2054 when implementing MySQL with Abyss Web Server?

我正在使用 Abyss X1 启动 Web 服务器,并尝试使用以下两个脚本通过 PHP 实现 MySQL 服务器:

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 时,出现以下错误:

"Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in /Applications/Abyss Web Server/connect_db.php on line 6"

”警告:mysqli_connect(): (HY000/2054): 服务器请求的身份验证方法对 /Applications/Abyss Web Server/connect_db 中的客户端未知。php 第 6 行 服务器请求客户端未知的身份验证方法

我正在按照一本我知道已经过时的书的说明进行操作,但到目前为止我已经能够解决所有问题。我还读到它与 MySQL 更新和实施 sha2 有关,而 PHP 仍然没有?我正在为我的 compsci class 做这件事,所以我很感激能得到的所有帮助。

谢谢!

改变用户

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

或使用

shell>mysql --default-auth=mysql_native_password