繁体   English   中英

Laravel 帆无法从主机连接到数据库

[英]Laravel sail can't connect to database from host

我安装了 Ubuntu 20.04 lts。 我已经安装了一个 Laravel 帆的 Laravel 项目。 好的。 安装 laravel 后,我使用“sail php artisan migrate”运行迁移。

该项目完美运行。 我还安装了微风进行身份验证。 我可以创建用户并登录。问题来自 Ubuntu 它似乎无法连接到该数据库。 在这里你可以看到我的 docker-compose.yml 文件的配置。 我已将 mysql 端口更改为 3307,因为它会产生冲突:

mysql:
    image: 'mysql:8.0'
    ports:
        - '${FORWARD_DB_PORT:-3307}:3306'
    environment:
        MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        MYSQL_DATABASE: '${DB_DATABASE}'
        MYSQL_USER: '${DB_USERNAME}'
        MYSQL_PASSWORD: '${DB_PASSWORD}'
        MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
    volumes:
        - 'sailmysql:/var/lib/mysql'
    networks:
        - sail
    healthcheck:
      test: ["CMD", "mysqladmin", "ping"]

这是 my.env 文件

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

在 Ubuntu 中,我安装了 mysql-server 和 tableplus。 我打开控制台并以 root 身份打开 tableplus

jorge@jorge-VirtualBox:~$ sudo su
[sudo] contraseña para jorge: 
root@jorge-VirtualBox:/home/jorge# tableplus

一旦我以 root 身份打开 tableplus,我就会配置要连接的数据。

表加

它告诉我数据库不存在。 我不知道该怎么办。 我会很感激你的帮助!

解决了。 我将解决方案留在这里,以防它可以帮助某人。 显然 TablePlus 在 Linux 上处于 beta 版本。 我已经下载了 Ubuntu 的 Workbench。 在我按照附加的图像配置连接之后。 在那里我已经能够看到 Laravel 数据库。

在此处输入图像描述

由于我遇到了类似的问题,并且还将我的默认 laravel 航行端口更改为 3307。这个配置终于对我有用:

.env 文件(设置 your_project_name):

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3307
DB_DATABASE=your_project_name
DB_USERNAME=sail
DB_PASSWORD=password

docker-compose.yml(更改端口并添加 MYSQL_TCP_PORT 定义)

mysql:
    image: 'mysql:8.0'
    ports:
        - '${FORWARD_DB_PORT:-3307}:3307'
    environment:
        MYSQL_TCP_PORT: '${DB_PORT}'
        MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        MYSQL_DATABASE: '${DB_DATABASE}'
        MYSQL_USER: '${DB_USERNAME}'
        MYSQL_PASSWORD: '${DB_PASSWORD}'
        MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
    volumes:
        - 'sailmysql:/var/lib/mysql'
    networks:
        - sail
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
      retries: 3
      timeout: 5s

我已经配置了以下参数:

HOST: 127.0.0.1
USER: root
PSW:  your pwd here
DB:   db_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM