编辑
2023-12-06
PHP
00
请注意,本文编写于 427 天前,最后修改于 427 天前,其中某些信息可能已经过时。

提示

这个错误是因为MySQL 8.0默认使用了caching_sha2_password身份验证插件,而你的PHP客户端可能不支持这种身份验证方法。你可以尝试以下几种解决方案:

更改MySQL的身份验证方法:你可以尝试在MySQL中更改用户的身份验证方法。打开MySQL 8.1 Command Line Client,然后运行以下命令

ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword'; FLUSH PRIVILEGES;

这里 'yourusername' 和 'yourpassword' 分别替换为你的用户名和密码。
正确的话会提示你输入密码
例:

image.png

提示

更新PHP:另一个解决方案是更新PHP到一个版本,该版本支持caching_sha2_password身份验证插件。根据你的错误日志,你正在使用PHPstudy_pro,这可能是你遇到这个问题的原因。你可以尝试更新PHP到最新版本,或者至少更新到7.4或更高版本,因为这些版本支持caching_sha2_password。

使用PDO:你也可以考虑使用PDO扩展来连接MySQL数据库,因为PDO对各种数据库的兼容性更好。

本文作者:Casear

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!