phpmyadmin 上的 laradock 错误 - 无法连接

Posted

技术标签:

【中文标题】phpmyadmin 上的 laradock 错误 - 无法连接【英文标题】:laradock error on phpmyadmin - can't connect 【发布时间】:2018-08-04 03:21:10 【问题描述】:

我刚开始使用docker、laradock和laravel,在设置完整个环境后我尝试登录我的phpmyadmin,但我无法登录。

我几乎到处寻找,找不到解决方法,所以你们是我最后的希望,哈哈。

Docker 版本 17.12.0-ce,构建 c97c6d6 这是我的 docker ps

我项目的 .env

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

这是我从 phpmyadmin (localhost:8080) 得到的错误

#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

【问题讨论】:

你能发布你的 Dockerfile(s) 和你用来启动和链接你的容器的命令吗?提供更多有关此信息的帮助。 我使用的命令是 docker-compose up -d nginx mysql phpmyadmin 我用这个命令创建了一个 laravel 项目 docker-compose exec workspace bash compose create-project --prefer-dist laravel/laravel项目名称 @CarlosEduardo 我是 docker 和 laradock 的新手,所以我不确定你要的是什么 Dockerfiles 根据您的命令,我相信@Alex Karshin 的回答是解决您问题的方法。 更改 DB_HOST=127.0.0.1 【参考方案1】:

这是由于 libmysqlclient 的更新引起的,因为 MySQL version 8.0.4 已将默认身份验证方法更改为更安全的 sha256_password

只要 Laravel 和其他软件包(如 PhpMyAdmin)更新以支持这种新的更安全的身份验证方法,这个问题就会自行解决。

如果您不能删除并重建现有的 mysql 数据卷,只需:

    登录到您的 mysql 容器 (docker-compose exec mysql mysql -uroot -proot) 执行ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; 对您可能创建的任何其他用户重复第 2 步。

如果您可以重新创建 mysql 数据卷:

    修改您的my.conf 文件。在[mysqld] 下添加以下配置选项default_authentication_plugin=mysql_native_password 删除你的mysql卷rm -rf ~./laradock/data/mysql 重建mysql容器docker-compose -d --build mysql phpmyadmin

【讨论】:

【参考方案2】:

最简单的解决方案是恢复到早期版本的 MySQL。无论如何,这可能是一个好主意,因为 8.0 是“开发人员的版本”。不幸的是,无论您在 .env 文件中设置什么,Laradock 目前都有一个安装 8.0 的错误。我已经提交了关于 Laradock 的 PR 来解决这个特定问题。

https://github.com/laradock/laradock/pull/1409

【讨论】:

可能是这样,我放弃在 Windows 上安装 docker 和 laradock。不过感谢您的回复。

以上是关于phpmyadmin 上的 laradock 错误 - 无法连接的主要内容,如果未能解决你的问题,请参考以下文章

如何设置 php 配置文件 (php.ini) 在 laradock 的 phpmyadmin 容器中使用

Laradock使用教程(新手版)

无法登录 PHPMyAdmin [重复]

无法登录 PHPMyAdmin [重复]

groupadd:运行docker-compose时无效的组ID“laradock”错误

Digital Ocean 主机上的 phpMyAdmin 404 错误