mysqli_connect 错误:身份验证方法未知(caching_sha2_password)
尝试使用 mysqli_connect 向 MySQL 进行身份验证时,您可能会遇到错误:
mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
MySQL Server默认认证时出现此错误插件设置为 caching_sha2_password,与某些用户帐户配置不兼容。
故障排除:
要解决此问题,有两种解决方案:
更改用户身份验证插件:
运行以下 SQL 命令来更改受影响用户的身份验证插件:
ALTER USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
将用户名和主机名替换为适合您的用户的值。
修改 MySQL Server Ini文件:
编辑MySQL服务器的ini文件(my.ini或my.cnf)并将default_authentication_plugin设置更改为mysql_native_password:
[mysqld] default_authentication_plugin=mysql_native_password
创建后重新启动MySQL服务器
其他提示:
如果您要创建新用户,请使用以下命令进行 mysql_native_password 身份验证:
CREATE USER 'username'@'hostname' IDENTIFIED WITH mysql_native_password BY 'password';
通过执行以下步骤,即使启用了 caching_sha2_password 身份验证插件,您也可以使用 mysqli_connect 成功向 MySQL 进行身份验证。
以上是为什么 mysqli_connect 失败并显示'身份验证方法未知(caching_sha2_password)”?的详细内容。更多信息请关注PHP中文网其他相关文章!