【问题标题】:Homestead - Connecting to my databaseHomestead - 连接到我的数据库
【发布时间】:2016-12-03 06:52:57
【问题描述】:

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

vagrant init laravel/宅基地

之后

流浪汉

当我使用 vagrant ssh 时,它没有任何问题,我可以访问 vagrant 框,但是当我想使用 Heidisql 连接到数据库时,我收到连接错误:

无法连接到 'localhost' (10061) 上的 mysql 服务器

这是我的设置

我使用的密码 = "secret"

【问题讨论】:

    标签: mysql laravel homestead


    【解决方案1】:

    [官方文档][1]

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

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

    【讨论】:

      【解决方案2】:

      第一个标签(Instelligen):

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

      第二个标签(SSH):

      • IP 地址 - 与第一个选项卡上的相同
      • 用户名:流浪者
      • 密码:vagrant

      其他一切都保持不变。这对我有用。我正在使用相同的 HeidiSQL 程序。

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          【解决方案4】:

          您需要的常用凭证/信息:

          • IP 地址 192.168.10.10(检查您的 Homestead 文件夹>Homestead.yaml)
          • 端口:3306
          • 用户:宅基地(全小写)
          • 密码:秘密

          【讨论】:

          • 当 Laravel 文档明确告诉您在端口 33060 上使用 127.0.0.1 时,我花了很长时间才解决这个问题
          【解决方案5】:

          MySQL official documentation 显示

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

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

          我的主机有 2 个 IP:

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

          您可以看到您的主机 IP 在 Windows 机器中执行

          ipconfig 
          

          在 Unix 机器上

          ifconfig 
          

          您必须使用

          登录 Vagrant 机器
          vagrant ssh
          

          那你必须执行

          ifconfig
          

          查看虚拟机的 IP。

          在我的 Vagrant VM 中,IP 是:

          • 10.0.2.15
          • 192.168.10.10

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

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

          【讨论】:

            【解决方案6】:

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

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

            【讨论】:

            • 在最近的更新中,IP 已更改为192.168.56.56
            猜你喜欢
            • 2017-11-21
            • 2014-07-28
            • 1970-01-01
            • 2018-09-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-10
            • 2017-04-25
            相关资源
            最近更新 更多