首页 > 解决方案 > Laravel 8 和 Docker Desktop - MySQL 问题(MYSQL_PASSWORD 不能用于 root 用户)

问题描述

我真的很难尝试设置 mysql_1 容器并运行。

所以,我只是按照说明安装了 Laravel 8,首先下载了 Docker Desktop,正确设置了 WSL,除了 MySQL 之外一切正常。

我使用以下方法从 Windows 终端安装了 Laravel:

curl -s https://laravel.build/example-app | bash
cd example-app
./vendor/bin/sail up

一切正常(我可以在 http://localhost/ 上访问应用程序),我可以使用 VSCode 等编辑文件。但是我在尝试启动 MySQL 容器时遇到了这种错误:

2021-03-22 11:02:21+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.
2021-03-22 11:02:21+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2021-03-22 11:02:21+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.23-1debian10 started.
2021-03-22 11:02:21+00:00 [ERROR] [Entrypoint]: MYSQL_USER="root", MYSQL_PASSWORD cannot be used for the root user

Use one of the following to control the root user password:

- MYSQL_ROOT_PASSWORD
- MYSQL_ALLOW_EMPTY_PASSWORD
- MYSQL_RANDOM_ROOT_PASSWORD

有谁知道我应该改变什么才能使它起作用?PS 另外我检查了端口 3306,一切都很好(Windows 防火墙不阻止端口)。

提前致谢。

标签: mysqllaraveldocker

解决方案


当你启动你的 MYSQL 容器时,你应该传递一个环境变量-e MYSQL_ROOT_PASSWORD=yourpassword

MYSQL 是必需的。您还可以使用他们提供给您使用的其他变量,它们各有其特殊性,但它们都定义了root用户的密码。这是一个要求。


推荐阅读