Laravel Sail执行mysql命令无需凭证登录,是Bug还是特性?
这是Laravel Sail的特性,不是Bug
./vendor/bin/sail mysql是Sail为简化开发流程设计的命令:它会自动读取项目根目录.env文件里的DB_USERNAME、DB_PASSWORD等配置,直接将凭证传递给MySQL客户端,所以执行后直接进入命令行,无需手动输入。- 你设置的
MYSQL_ALLOW_EMPTY_PASSWORD=0是控制MySQL容器是否允许空密码登录的环境变量,和Sail这个命令的逻辑无关——Sail根本没走“手动输入密码验证”的流程,而是直接调用了.env里的配置,所以修改这个变量不会有效果。 - 如果想要手动输入密码登录,别用
sail mysql命令,直接用Docker原生命令连接:
执行后会提示输入密码,容器名可以用docker exec -it <你的mysql容器名> mysql -u root -psail ps查看。
内容的提问来源于stack exchange,提问作者Institoris
相关产品推荐
相关产品推荐

