首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法解决为什么TablePlus拒绝使用Sail 0n 3307连接到数据库

无法解决为什么TablePlus拒绝使用Sail 0n 3307连接到数据库
EN

Stack Overflow用户
提问于 2021-05-08 18:13:58
回答 2查看 147关注 0票数 1

我正在使用Sail进行我的副项目,并使用Homestead进行工作。我得到了3306端口的冲突,所以我把Sail移到了3307,但现在由于某种原因,我不能让TablePlus连接到数据库。只是为了弄清楚,网站加载在浏览器和sail tinkersail artisan:migrate都可以正常工作,只是TablePlus不工作?!上周末当我使用它时,它工作得很好,但在使用3306时遇到问题后,我决定将端口更改为3307,我已经运行docker-compose down -v来删除包括数据库在内的卷,并将其恢复,迁移后站点可以工作,但TP仍然无效。以下是我的.env

代码语言:javascript
运行
复制
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=tall_events
DB_USERNAME=sail
DB_PASSWORD=password
FORWARD_DB_PORT=3307

和我的docker-compose.yml文件:

代码语言:javascript
运行
复制
mysql:
 image: "mysql:8.0"
 ports:
      - "${FORWARD_DB_PORT:-3307}:3307"
 environment:
 MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
 MYSQL_DATABASE: "${DB_DATABASE}"
 MYSQL_USER: "${DB_USERNAME}"
 MYSQL_PASSWORD: "${DB_PASSWORD}"
 MYSQL_ALLOW_EMPTY_PASSWORD: "no"
 volumes:
      - "sailmysql:/var/lib/mysql"

它在Docker Desktop上显示为端口3307

但是,当我尝试在3307上连接TablePlus时,我得到了以下信息:

当我尝试3306时,我会得到

EN

回答 2

Stack Overflow用户

发布于 2021-05-08 20:52:14

在TablePlus中检查您的主机。

在您的.env文件中,DB_HOST是"mysql“。TablePlus中的主机似乎被设置为"127.0.0.1“

另外,检查数据库名称。它看起来像是设置为"da"-something,而它应该是"tall_events“。

票数 0
EN

Stack Overflow用户

发布于 2021-05-09 05:21:37

当你运行sail up -d时,docker-compose会创建一个虚拟网络。使用现有配置,mysql仍然监听该虚拟网络上的端口3306,但是在docker-compose.yml中,您将机器上的端口3307映射到mysql容器上的3307。

您需要做的是将机器上的端口3307映射到mysql容器上的端口3306。为此,您可以更新docker-compose.yml的端口部分,如下所示:

代码语言:javascript
运行
复制
mysql:
 ports:
   - "3307:3306"

这意味着您可以使用TablePlus连接到localhost:3307,但您的Laravel应用程序(在连接到虚拟网络的docker容器中运行)仍然可以连接到该虚拟网络上的mysql:3306

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67446406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档