Laravel Homestead无法从主机

时间:2018-03-21 17:10:40

标签: mysql laravel vagrant mysql-workbench homestead

由于我安装了 Laravel Homestead (通过Vagrant),我无法从主机计算机(Windows)连接到MySql。但是,我可以从VM本身连接到MySql服务器而没有任何问题(即来自于Homestead虚拟机)。

我将解释我在尝试解决此问题时所采取的步骤,并将粘贴部分配置文件,希望您能够解决这个问题。

尝试从远程(即我的主机)连接时,我在MySQL Workbench和MySQL Client上都收到以下错误消息:

  

在读取授权数据包'时失去与MySQL服务器的连接,系统错误:2

我在互联网上挖了一个星期,发现什么都不能解决我的问题。以下是我尝试的一些事情:

在我的Windows机器上:

  • Windows防火墙:
    • 允许在端口3306和33060上与Workbench之间的出站和入站流量
    • 允许出站流量为33060

关于Vagrant的Homestead计算机(Ubuntu):

  • 编辑/etc/hosts.allow

    mysqld: 127.0.0.1
    mysqld: ALL: allow
    
  • 已确认/etc/hosts.deny并未阻止任何地址

  • /etc/mysql/mysql.conf.d/mysqld.cnf/etc/mysql/my.cnf

    中添加了以下内容
    [mysqld]
    skip-name-resolve
    

还有更多与上述相似和不同的东西。

这就是我尝试从主机连接的方式:

$ mysql -h 127.0.0.1 -P 33060 -u homestead

这些是 MySQL Workbench 失败尝试的截图(点击放大):

enter image description here enter image description here

由于它非常重要,以下是我的Vagrant和Homestead配置文件:

Homestead.yaml

ip: "192.168.10.10"
...
<truncated>
...
databases:
    - homestead

项目的.env文件:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:<truncated>
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=test
DB_USERNAME=homestead
DB_PASSWORD=secret  

正如我之前所说的那样,我将尝试以上所有不同的变化和形状,并一次又一次地遇到同样的问题。我还试图玩127.0.0.1和192.168.10.10,认为它可能会有所帮助,但是再次,不。非常感谢您的帮助,并乐意添加所需的任何信息

1 个答案:

答案 0 :(得分:-1)

我遇到了同样的问题,但是在运行mysql客户端后,与vagrant一​​样的管理员,它对我有用。尝试第一次像流浪者一样运行同一个用户。