mysql - 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 防火墙不阻止端口)。
提前致谢。
解决方案
当你启动你的 MYSQL 容器时,你应该传递一个环境变量-e MYSQL_ROOT_PASSWORD=yourpassword
MYSQL 是必需的。您还可以使用他们提供给您使用的其他变量,它们各有其特殊性,但它们都定义了root
用户的密码。这是一个要求。
推荐阅读
- node.js - Oclif cli 作为 tarball 发布:如何将命令自动链接到 bashRc 而无需编写“npm link”?
- python - Python tkinter canvas postscript:如何强制换页
- mysql - 在mysql中插入或更新表
- javascript - 添加一个className onClick,同时从兄弟姐妹中删除具有相同名称的其他类
- r - 单选按钮选择以在下一个输出上显示表格
- android - 如何验证 ImageView 是否为空?
- ionic-framework - 将数组数据从 ionic 3 应用程序发送到 php 页面
- c++ - 函数运行时如何一一显示列表项
- python - 在 django rest 框架中返回 Respose 对象时出现 NoReverseMatch 错误
- python-3.x - 如何根据python中的条件重命名列名?