【问题标题】:Connect to mySQL DB in a laravel project with sail使用sail连接到laravel项目中的mySQL DB
【发布时间】:2022-02-21 21:48:42
【问题描述】:

我已经用sail 建立了一个laravel 项目,我正在尝试使用数据库管理工具连接到我的数据库。但是我不知道应该使用什么地址和用户名。

在我的 .env 文件中:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=app-name
DB_USERNAME=sail
DB_PASSWORD=password

设置是默认设置。我尝试通过 localhost:3306 进行连接,但它不起作用。您对我应该如何进行有什么想法吗?

请注意,我的项目在 localhost 中运行正常。

【问题讨论】:

标签: mysql laravel-8 laravel-sail


【解决方案1】:

由于 Laravel Sai 基本上只是一个 docker-compose 包装器,因此您应该检查根目录中的 docker-compose.yml 文件以了解 mysql 容器的端口转发。应该是这样的:

...
mysql:
  image: 'mysql/mysql-server:8.0'
  ports:
    - '${FORWARD_DB_PORT:-3306}:3306'
...

您还可以在使用sail up -d 运行docker ps -a | grep mysql 来检查docker。如果你的输出包含0.0.0.0:3306->3306/tcp,你的mysql服务器应该可以在localhost:3306访问。

【讨论】:

  • 我有,但还是不行。似乎是因为 mysql 的 v8 在密码管理中发生了一些变化。我通过编辑一些权限看到了一些修复。为此,我需要输入 sql 命令,link 你知道我应该在哪里输入这些命令吗?
  • 你可以在你的根目录下执行sail exec mysql mysql -u root -p进入mysql控制台。密码在您的.env 文件中。
猜你喜欢
  • 2022-01-16
  • 2021-10-03
  • 2021-04-19
  • 2021-05-12
  • 2021-04-21
  • 2021-08-23
  • 2021-07-27
  • 1970-01-01
  • 2021-05-05
相关资源
最近更新 更多