拉拉维尔帆无法从主机连接到数据库



我已经安装了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"]

这是。env文件

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

在Ubuntu中我已经安装了mysql-server和tableplus。我打开控制台并打开tableplus作为根

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

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

tableplus

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

因为我有一个类似的问题,并且也将我的默认laravel sail端口更改为3307。这个配置终于为我工作了:

。环境文件(设置你的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。(修改了端口,增加了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

解决!我把答案留在这里,也许能帮到谁。显然TablePlus在Linux上还处于测试版。我已经为Ubuntu下载了Workbench。在我配置了连接之后,就像我所附加的图像一样。在那里我已经能够看到Laravel数据库。

输入图片描述

我配置了以下参数:

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

相关内容

  • 没有找到相关文章

最新更新