【问题标题】:Laravel Sail SQL Connection timed outLaravel Sail SQL 连接超时
【发布时间】:2021-05-12 22:42:39
【问题描述】:

我刚开始使用 Laravel Sail,但是 Laravel 无法连接到 MySQL 服务器。甚至容器中的 Artisan 也会提供Connection timed out。我可以从主机上的 MySQL Workbench 进行连接。

我的 .env 文件已更新为可与sai 一起使用:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

【问题讨论】:

  • 你能在docker-compose.yml文件中分享mysql部分吗?
  • @MohamedAhmed 当然! ``` mysql: image: 'mysql:8.0' 端口: - '3306:3306' 环境: MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' MYSQL_DATABASE: '${DB_DATABASE}' MYSQL_USER: '${DB_USERNAME}' MYSQL_PASSWORD: '$ {DB_PASSWORD}' MYSQL_ALLOW_EMPTY_PASSWORD:'yes' 卷:-'sailmysql:/var/lib/mysql' 网络:-sai 健康检查:测试:["CMD", "mysqladmin", "ping"] ```

标签: laravel laravel-sail


【解决方案1】:

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
    

    sail now 会将 phpMyAdmin 映像下载到您的 docker 容器中 将能够在端口:8080 [http://localhost:8080/] 上查看数据库。

  • 使用sail documentation. 中提到的 TablePlus 等图形数据库管理应用程序

【讨论】:

  • PHPMyAdmin 无法连接数据库有什么关系?
【解决方案2】:

你必须在“DB_HOST”中写上域名或ip

DB_HOST=1.2.3.4

DB_HOST=example.com

【讨论】:

  • 嗨! Laravel Sail 是一个 docker 系统,mysql 是它创建的服务器的主机名。有多个论坛帖子缺少此行,因此无法连接 (for example)。
  • 我认为您的主机无法连接到此主机。我每天都在使用 Laravel,公司里没有人使用主机名作为主机。 -- ping mysql -- 你能ping这个主机吗?
  • 请记住,这是在 Sail 的 docker-compose 环境中,mysql 实际上是主机名。如果容器上安装了 ping,我可以 ping 它。
猜你喜欢
  • 2021-05-05
  • 2021-04-10
  • 2022-01-16
  • 2021-04-21
  • 2022-12-05
  • 1970-01-01
  • 2021-04-11
  • 1970-01-01
  • 2023-03-13
相关资源
最近更新 更多