Homestead - 连接到我的数据库

时间:2016-07-28 18:11:06

标签: mysql laravel homestead

我刚创建了一个新的laravel项目,我正在使用一个Homestead vagrant box运行

  

vagrant init laravel / homestead

之后

  

Vagrant Up

当我使用POSITION_NONE时,它没有给我任何问题,我可以访问流浪盒,但是当我想用Heidisql连接到数据库时,我收到连接错误:

  

无法连接到'localhost'(10061)

上的mysql服务器

这是我的设置

enter image description here enter image description here

我正在使用的密码=“秘密”

6 个答案:

答案 0 :(得分:5)

根据official documentation,你应该使用端口33060而不是3306。

.env文件也应相应更新,因此在运行第一次迁移时不会出现问题,因为Laravel安装在虚拟机内运行,您需要默认端口3306。

答案 1 :(得分:4)

MySQL official documentation显示

  

错误(2003)无法连接到服务器上的MySQL服务器' (10061)   表示网络连接已被拒绝。你应该   检查是否有运行的MySQL服务器,它有网络   已启用连接,并且您指定的网络端口是   在服务器上配置一个。

您正尝试使用虚拟IP访问另一台计算机中的MySQL服务器。我将使用我的IP,以便你能更好地理解。

我的主机有2个IP:

  • 真实IP为192.168.0.53
  • 虚拟IP为192.168.10.1

您可以在Windows计算机上看到主机IP正在执行

ipconfig 

并在Unix机器中

ifconfig 

您必须使用

登录Vagrant机器
vagrant ssh

然后你必须执行

ifconfig

查看虚拟机的IP。

在我的Vagrant VM中,IP是:

  • 10.0.2.15
  • 192.168.10.10

您可以看到主机中有一个IP(192.168.10.1),同一个局域网中的Vagrant VM(192.168.10.10)中有一个IP。

Vagrant VM IP(在我的示例中为192.168.10.10)是您必须在MySQL客户端中使用的IP。

答案 2 :(得分:1)

您需要的常规凭据/信息:

  • IP地址192.168.10.10(检查您的Homestead文件夹> Homestead.yaml)

  • 端口:3306

  • 用户:宅基地
  • 密码:秘密

答案 3 :(得分:0)

Homestead文档说您应该使用地址127.0.0.1端口33060进行连接。我做了一个测试,就可以了。

  

开箱即用地为MySQL和PostgreSQL配置了Homestead数据库。要从主机的数据库客户端连接到MySQL或PostgreSQL数据库,应连接到127.0.0.1和端口33060(MySQL)或54320(PostgreSQL)。这两个数据库的用户名和密码均为homestead / secret。

来源:https://laravel.com/docs/5.8/homestead#configuring-homestead

答案 4 :(得分:0)

第一个标签(Instelligen):

  • IP地址:您在Homestead.yaml文件中定义的IP(我的地址为:192.168.10.10)
  • 用户名:宅基地
  • 密码:秘密

第二个标签(SSH):

  • IP地址-与第一个标签上的相同
  • 用户名:无业游民
  • 密码:无业游民

其他所有内容均保持不变。这对我有用。我正在使用相同的HeidiSQL程序。

答案 5 :(得分:0)

[官方文档][1]

[1]:https://laravel.com/docs/5.8/homestead#connecting-to-databases 被指示为 MySQL 使用端口 33060,为 PostgreSQL 使用 54320 端口

<块引用>

为 MySQL 和 PostgreSQL 配置了一个开箱即用的 homestead 数据库。要从主机的数据库客户端连接到 MySQL 或 PostgreSQL 数据库,您应该通过端口 33060 (MySQL) 或 54320 (PostgreSQL) 连接到 127.0.0.1。两个数据库的用户名和密码都是 homestead/secret。