我正在使用这个软件:
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,去做别的事情。
我欢迎你的建议。
谢谢,大卫
2条答案
按热度按时间0tdrvxhp1#
如果你认为“这是一个PHP PDO问题吗?",这里是我的评论,
我是新来的,我的第一个html表单与mysql数据库表绑定工作。我遇到了(唯一正确的)PDO教程在这里是URL:https://phpdelusions.net/pdo。
brtdzjyr2#
分辨率:Windows不再是MAMP的目标环境,所以这基本上是我试图在Windows上使用它的错。MAMP是为Mac OS X设计的。所以我切换到XAMPP。--大卫