克服 mysqli_connect 中的身份验证挑战
mysqli_connect 函数简化了 PHP 中的数据库连接。但是,当尝试使用 caching_sha2_password 身份验证连接到 MySQL 数据库时,用户可能会遇到身份验证问题。本文探讨了此问题的根本原因并提供了解决方案。
问题
在提供的代码片段中,MySQL Server ini 文件中的 default_authentication_plugin 设置为设置为 caching_sha2_password。此配置可防止用户使用没有相应 caching_sha2_password 的用户名进行身份验证。结果,显示错误消息“服务器请求客户端未知的身份验证方法 [caching_sha2_password]”。
解决方案
要解决此问题,您可以:
更改default_authentication_plugin 设置:
修改用户身份验证:
使用 ALTER USER SQL 命令更改 user1 和 user2 的密码,使其与 caching_sha2_password 兼容:
For现有用户:
对于新用户:
实现
修改身份验证插件设置后或用户密码,mysqli_connect代码将成功建立与MySQL的连接
结论
通过了解底层身份验证问题并实现所提供的任一解决方案,您可以克服使用时出现的“客户端未知的身份验证方法”错误mysqli_connect 与 caching_sha2_password 身份验证。
以上是为什么 mysqli_connect 失败并显示'客户端未知身份验证方法 [caching_sha2_password]”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!