laravel - Laravel Sail SQL 连接超时
问题描述
我刚开始使用 Laravel Sail,但是 Laravel 无法连接到 MySQL 服务器。就连容器里的工匠也给了Connection timed out
。我可以从我的主机上的 MySQL Workbench 连接。
我的 .env 文件已更新为可与 Sai 一起使用:
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
解决方案
Laravel Sai 没有附带 phpMyAdmin 来可视化您的数据库。因此,您需要使用其中之一:
手动将 phpMyAdmin 添加到您的 docker-compose.yml 文件中。
services: ... phpmyadmin: image: phpmyadmin restart: always container_name: phpmyadmin depends_on: - mysql ports: - 8080:80 environment: PMA_HOST: mysql MYSQL_USERNAME: "${DB_USERNAME}" MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}" networks: - sail healthcheck: test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"] retries: 3 timeout: 5s ... volumes: ... phpmyadmin: driver: local
再次重新启动您的项目。
sail up -d
Sails now 会将 phpMyAdmin 映像下载到您的 docker 容器中,您可以在其中查看端口:8080 [http://localhost:8080/] 上的数据库。
使用像sail文档中提到的TablePlus这样的图形数据库管理应用程序。
推荐阅读
- ios - 白色底栏仅在新的 ios 版本上
- javascript - 更改 gulp 文件中的变量
- visual-studio - 在 Visual Studio 2019 for .Net Core 中禁用的文档大纲控件
- javascript - if-else 语句中抛出错误时无法处理异步错误
- javascript - 将对象数组的日期值与字符串数组中的日期进行比较
- reactjs - 如何让隐形 react-google-recaptcha、Formik 和 yup 协同工作?
- bash - 如果三个文件的第一列匹配,则打印输出
- reactjs - 使用 createSlice 部分重置状态
- r - 根据R中的另一个列表将元素添加到列表中
- unity3d - Unity:动画不会在触发器上播放