mysql 8.0上的phpmyadmin

8yparm6h  于 2021-06-21  发布在  Mysql
关注(0)|答案(18)|浏览(554)

这个问题在这里已经有答案了

在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

uhry853o

uhry853o16#

如果您使用的是官方的mysql docker容器,那么有一个简单的解决方案:
将以下行添加到docker compose服务:

command: --default-authentication-plugin=mysql_native_password

配置示例:

mysql:
     image: mysql:8
     networks:
       - net_internal
     volumes:
       - mysql_data:/var/lib/mysql
     environment:
       - MYSQL_ROOT_PASSWORD=root
       - MYSQL_DATABASE=db
     command: --default-authentication-plugin=mysql_native_password
moiiocjp

moiiocjp17#

正如@kgr提到的,mysql 8.0.11对身份验证方法做了一些更改。
我已经打开了一个phpmyadmin错误报告:https://github.com/phpmyadmin/phpmyadmin/issues/14220.
mysql 8.0.4-rc对我来说运行得很好,我觉得mysql在补丁级别的版本中做出这样的改变是很可笑的。

xoshrz7s

xoshrz7s18#

正如许多人在其他答案中指出的,将mysql的默认身份验证插件更改为native就可以做到这一点。
不过,由于我不能使用新的caching\u sha2\u password插件,所以我会等到兼容性开发完成后再讨论这个主题。

相关问题