首页 > 解决方案 > 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=

标签: laravellaravel-sail

解决方案


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这样的图形数据库管理应用程序


推荐阅读