我刚创建了一个新的laravel项目,我正在使用一个Homestead vagrant box运行
vagrant init laravel / homestead
之后
Vagrant Up
当我使用POSITION_NONE
时,它没有给我任何问题,我可以访问流浪盒,但是当我想用Heidisql连接到数据库时,我收到连接错误:
无法连接到'localhost'(10061)
上的mysql服务器
这是我的设置
我正在使用的密码=“秘密”
答案 0 :(得分:5)
根据official documentation,你应该使用端口33060而不是3306。
.env文件也应相应更新,因此在运行第一次迁移时不会出现问题,因为Laravel安装在虚拟机内运行,您需要默认端口3306。
答案 1 :(得分:4)
MySQL official documentation显示
错误(2003)无法连接到服务器上的MySQL服务器' (10061) 表示网络连接已被拒绝。你应该 检查是否有运行的MySQL服务器,它有网络 已启用连接,并且您指定的网络端口是 在服务器上配置一个。
您正尝试使用虚拟IP访问另一台计算机中的MySQL服务器。我将使用我的IP,以便你能更好地理解。
我的主机有2个IP:
您可以在Windows计算机上看到主机IP正在执行
ipconfig
并在Unix机器中
ifconfig
您必须使用
登录Vagrant机器vagrant ssh
然后你必须执行
ifconfig
查看虚拟机的IP。
在我的Vagrant VM中,IP是:
您可以看到主机中有一个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)
Homestead.yaml
文件中定义的IP(我的地址为:192.168.10.10)其他所有内容均保持不变。这对我有用。我正在使用相同的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。