gpt4 book ai didi

mysql - Docker 上的 Laravel [2002] 连接拒绝端口 3307 上的 Mysql

转载 作者:行者123 更新时间:2023-12-02 21:09:08 24 4
gpt4 key购买 nike

在 Docker 上本地启动了一个 Laravel 5.8 应用程序。

我可以在我的浏览器上运行应用程序,连接到 Sequel Pro 上的数据库,但是当我尝试迁移数据库时,我得到了可怕的 [2002] Connection refused错误。

我已将 mysql 端口设置为 3307,因为我有另一个 mysql 容器将 3306 用于不同的项目。我不想为每个项目不停地停止和启动 docker,因为我可能会经常在这两个项目之间切换,这就是我使用不同端口的原因。

这是 docker-compose 文件中的 mysql 部分。

mysql:
image: mysql:5.7
ports:
- "3307:3306"
environment:
MYSQL_HOST: 127.0.0.1
MYSQL_ROOT_PASSWORD: secret
MYSQL_DATABASE: forecast
MYSQL_USER: forecast
MYSQL_PASSWORD: secret
volumes:
- mysql:/var/lib/mysql
networks:
- forecast

这是我的 .env 文件数据库设置 key
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3307
DB_DATABASE=forecast
DB_USERNAME=forecast
DB_PASSWORD=secret

同样值得注意的是,出于同样的原因,我在端口 81 而不是 80 上运行应用程序。在我的浏览器中,我必须输入 {domain.testing}:81哪个有效。

最佳答案

我已经为任何有同样问题的人解决了这个问题。

我不得不调整我的 .env 文件。

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

所以我改变了 DB_HOSTmysqlDB_PORT返回 3306因为 docker 将其映射到 3307。然后它成功运行。

关于mysql - Docker 上的 Laravel [2002] 连接拒绝端口 3307 上的 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56075648/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com