这个问题在这里已经有答案了:
在phpmyadmin中使用sha256设置用户密码后拒绝访问(3个答案)
12个月前关门了。
更新
phpmyadmin的更新版本解决了这个问题。我已经成功地用phpMyAdmin5.0.1进行了测试
我已经安装了mysql 8.0服务器和phpmyadmin,但是当我尝试从浏览器访问它时,会出现以下错误:
# 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
我想这一定与实现的强密码和mysql版本的相对新鲜度有关。
但我对最先进的驱动程序和连接配置一无所知。
有人面对同样的问题并解决了吗d
18条答案
按热度按时间uhry853o16#
如果您使用的是官方的mysql docker容器,那么有一个简单的解决方案:
将以下行添加到docker compose服务:
配置示例:
moiiocjp17#
正如@kgr提到的,mysql 8.0.11对身份验证方法做了一些更改。
我已经打开了一个phpmyadmin错误报告:https://github.com/phpmyadmin/phpmyadmin/issues/14220.
mysql 8.0.4-rc对我来说运行得很好,我觉得mysql在补丁级别的版本中做出这样的改变是很可笑的。
xoshrz7s18#
正如许多人在其他答案中指出的,将mysql的默认身份验证插件更改为native就可以做到这一点。
不过,由于我不能使用新的caching\u sha2\u password插件,所以我会等到兼容性开发完成后再讨论这个主题。