MySQL 5.7.24-服务器请求客户端[caching_sha2_password]

问题描述

我正在使用此软件:

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

我已将其添加到my.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并选择其他产品。

我欢迎您的建议。

谢谢大卫

解决方法

如果您认为“这是PHP PDO问题吗?”,这是我对此的评论,

我对此并不陌生,正在处理我的第一个html表单以与mysql DB表绑定。我在这里碰到了(唯一正确的)PDO教程:URL:https://phpdelusions.net/pdo

,

解决方案:Windows不再是MAMP的目标环境,因此,这基本上是我在Windows上尝试使用它的错误。 MAMP适用于Mac OSX。因此,我将切换到XAMPP。 -大卫

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...