如何解决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。 -大卫
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。