mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password] . 怎么解决
这个错误 mysqli::real_connect(): The server requested authentication method unknown to the client [caching_sha2_password] 出现的原因是因为 MySQL 服务器使用了 caching_sha2_password 作为认证方式,而客户端(PHP 的 mysqli 扩展)不支持这种认证方式。
解决方法有两种:
方案一:更改 MySQL 用户的认证插件【经过本人测试,可行】
你可以把 MySQL 用户的认证插件改回 mysql_native_password,这样可以避免这个问题。
-
使用具有管理员权限的用户登录到 MySQL。
-
执行以下 SQL 命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';把
'你的密码'替换为你希望设置的密码。 -
然后执行
FLUSH PRIVILEGES;来刷新权限。
方案二:更新 MySQL 客户端(mysqli)或 PHP 版本
如果你不想改变认证方式,可以选择更新 MySQL 客户端,使其支持 caching_sha2_password。
- Linux 用户:可以更新
php-mysql包。 - Windows 用户:可以升级 PHP 到最新版本,确保
mysqli扩展支持caching_sha2_password。
更新完成后,再次尝试连接。
这两种方法都能解决你的问题。你可以根据需求选择适合的方案!如果需要进一步的帮助,随时告诉我。
相信坚持的力量,日复一日的习惯.

浙公网安备 33010602011771号