PHP 7.2.2 + mysql 8.0 PDO 给出:客户端未知的身份验证方法 [caching_sha2_password]

2022-08-30 15:27:28

我使用的是php 7.2.2和mysql 8.0。

当我尝试使用正确的凭据进行连接时,我收到此错误:

PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]")

需要帮助来解决问题。


答案 1
alter user 'username'@'localhost' identified with mysql_native_password by 'password';

正如这里所建议的:https://github.com/laradock/laradock/issues/1390ailionx


答案 2

在某个地方找到了这个,不记得在哪里(或者我会相信),但它对我有用,直到MySQL 8变得更好。

在MySQL shell(命令提示符,无论什么)中:

CREATE USER username@localhost identified with mysql_native_password by 'password';

其中用户名是用户名,密码是该用户的密码。

然后,您可以在 shell 中添加权限 - 或者在工作台中添加权限,因为用户现在存在“身份验证类型:标准”。


推荐