缓解 PHP 中的“mysqli_connect:客户端未知的身份验证方法 [caching_sha2_password]”
使用 MySQL 的 mysqli_connect 与本地数据库进行身份验证时,您可能会遇到神秘的错误,“mysqli_connect(): 服务器请求的身份验证方法未知到客户端 [caching_sha2_password]。”此错误是由于服务器使用的身份验证插件与客户端期望的身份验证插件不匹配而引起的。
MySQL Server ini 文件规定了用于服务器连接的默认身份验证插件。默认情况下,此设置配置为“caching_sha2_password”,表示服务器支持 caching_sha2_password 身份验证方法。在您的情况下,您的服务器已进行相应配置。
相反,您的 PHP 代码尝试使用旧版身份验证方法进行连接,例如“mysql_native_password”方法。这种不匹配会导致身份验证失败并导致上述错误。
解决方案
要解决此问题,您可以修改 PHP 代码使用的身份验证方法以匹配服务器的默认设置。或者,您可以更改 MySQL Server ini 文件以指定与 PHP 代码兼容的身份验证插件。以下是一些可能的解决方案:
在 MySQL 服务器上启用 mysql_native_password 插件:
修改 PHP 代码以使用 caching_sha2_password 插件:
或者,您可以使用 SQL 命令将 MySQL 用户的身份验证方法切换为 mysql_native_password:
更改现有用户:
使用 mysql_native_password 创建新用户:
通过实施这些解决方案,您可以协调 MySQL 服务器和 PHP 客户端使用的身份验证方法,让您成功建立与数据库的连接。
以上是如何修复 PHP 中的'mysqli_connect:客户端未知的身份验证方法 [caching_sha2_password]”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!