由于我安装了 Laravel Homestead (通过Vagrant),我无法从主机计算机(Windows)连接到MySql。但是,我可以从VM本身连接到MySql服务器而没有任何问题(即来自于Homestead虚拟机)。
我将解释我在尝试解决此问题时所采取的步骤,并将粘贴部分配置文件,希望您能够解决这个问题。
尝试从远程(即我的主机)连接时,我在MySQL Workbench和MySQL Client上都收到以下错误消息:
在读取授权数据包'时失去与MySQL服务器的连接,系统错误:2
我在互联网上挖了一个星期,发现什么都不能解决我的问题。以下是我尝试的一些事情:
在我的Windows机器上:
关于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 失败尝试的截图(点击放大):
由于它非常重要,以下是我的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,认为它可能会有所帮助,但是再次,不。非常感谢您的帮助,并乐意添加所需的任何信息
答案 0 :(得分:-1)
我遇到了同样的问题,但是在运行mysql客户端后,与vagrant一样的管理员,它对我有用。尝试第一次像流浪者一样运行同一个用户。