【发布时间】:2020-09-24 00:22:39
【问题描述】:
我刚刚在带有 MySQL 8.0.21 的全新 Debian Stretch 服务器上安装了 PHPMyAdmin 4.6.6。当我尝试登录时出现这些错误
#2054 - The server requested authentication method unknown to the client
mysqli_real_connect(): The server requested authentication method unknown to the client [caching_sha2_password]
mysqli_real_connect(): (HY000/2054): The server requested authentication method unknown to the client
Google 上到处都有参考资料指出,如下更改用户将解决问题
ALTER USER 'user'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
但是,这对我不起作用。我试过重启 MySQL 和 lighttpd。有没有其他解决方案?
【问题讨论】:
-
stackoverflow.com/questions/52364415/… 尝试 second 答案。或者...更新 PHP(这是问题的真正根源。)您的 PHP 版本有一个旧的客户端库,无法使用最新的默认身份验证方法连接到 mysql。这对于 3 岁的拉伸来说只是有点令人惊讶。
-
谢谢@netopiax。如果您将此移至答案,我会将其标记为已回答。
-
"fresh Debian Stretch" 这是一个矛盾的说法。当人们运行古老的软件(新版本已经存在很长时间——Buster 一年多前发布)然后浪费大量时间试图让过时的软件运行时,他们会想到什么?您用 'lighttpd' 标记了这篇文章,因此您应该知道 Debian Stretch 附带 lighttpd 1.4.45。最新的 lighttpd 是 lighttpd 1.4.55,它是更新的 10 个完整版本(包括 830 个提交),并且包含重要的安全性和错误修复。
-
@gstrauss 我不同意你的观点,但并不是每个企业都使用最新最好的版本。就我而言,我在一个非常严格的环境中工作,操作系统的升级需要很长时间才能完成。 “如果它没有坏,就不要修理它。”由于 PHP、MySQL 和 phpmyadmin 安装是使用 apt 完成的,因此可以合理预期它应该可以工作。它崩溃的事实不是软件年龄的函数,而是维护遗留存储库的一个或多个开发人员的粗心。
标签: mysql phpmyadmin lighttpd