提示
这个错误是因为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' 分别替换为你的用户名和密码。
正确的话会提示你输入密码
例:
提示
更新PHP:另一个解决方案是更新PHP到一个版本,该版本支持caching_sha2_password身份验证插件。根据你的错误日志,你正在使用PHPstudy_pro,这可能是你遇到这个问题的原因。你可以尝试更新PHP到最新版本,或者至少更新到7.4或更高版本,因为这些版本支持caching_sha2_password。
使用PDO:你也可以考虑使用PDO扩展来连接MySQL数据库,因为PDO对各种数据库的兼容性更好。
本文作者:Casear
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!