MySQL 5.7.24 --服务器请求的身份验证方法对客户端未知[caching_sha2_password]

jjhzyzn0  于 2023-11-16  发布在  Mysql
关注(0)|答案(2)|浏览(160)

我正在使用这个软件:

MAMP     4.2
MySQL    5.7.24  <-- PLEASE NOTE
PHP      7.4.1
Windows  10

字符串
PHP代码…

$dsn = 'mysql:host=localhost;dbname=mydatabase;';
try {
  $dbh = new PDO($dsn, 'root', 'root');
} 
catch (PDOException $e) {
  echo $e;
}


.生成此错误:

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


重复:我没有使用MySQL 8,我重复这个事实,因为我找到的关于这个主题的每篇文章都声称这个错误与MySQL 8有关。
此SQL语句:

select user, plugin from mysql.user


给出这些结果:

root            mysql_native_password   
mysql.session   mysql_native_password   
mysql.sys       mysql_native_password


我在我的.ini中添加了以下内容:

default-authentication-plugin = mysql_native_password


我重启MySQL服务器后仍然出现错误。我尝试使用MAMP的工具升级到MySQL 8.0,但没有发生。是PHP PDO问题吗?
顺便说一下,由于Windows 10上的MAMP附带MySQL 5.7 -- * 我不知道为什么 * --我经常使用MAMP,因为它很容易安装,几乎不需要配置,“升级到MySQL 8.0”并不是我真正想要的答案,因为我认为有解决方案涉及调整配置。如果这是任何人的唯一答案,我想我会放弃MAMP,去做别的事情。
我欢迎你的建议。
谢谢,大卫

0tdrvxhp

0tdrvxhp1#

如果你认为“这是一个PHP PDO问题吗?",这里是我的评论,
我是新来的,我的第一个html表单与mysql数据库表绑定工作。我遇到了(唯一正确的)PDO教程在这里是URL:https://phpdelusions.net/pdo

brtdzjyr

brtdzjyr2#

分辨率:Windows不再是MAMP的目标环境,所以这基本上是我试图在Windows上使用它的错。MAMP是为Mac OS X设计的。所以我切换到XAMPP。--大卫

相关问题