gpt4 book ai didi

mysql - Laravel Homestead 无法从主机连接到 MySQL

转载 作者:行者123 更新时间:2023-11-30 23:44:22 25 4
gpt4 key购买 nike

自从我安装了 Laravel Homestead(通过 Vagrant)后,我无法从我的主机 机器 (Windows) 连接到 MySql。但是,我可以毫无问题地从 VM 本身连接到 MySql 服务器(即从 homestead 虚拟机)。

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

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

Lost connection to MySQL server at 'reading authorization packet', system error: 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 进行尝试,认为它可能会有所帮助,但又一次,没有。将感谢您的帮助,并将很乐意添加任何需要的信息

最佳答案

我遇到了同样的问题,但在以与 vagrant 相同的管理员身份运行 mysql 客户端后,它对我有用。第一次尝试以与 vagrant 相同的用户运行它。

关于mysql - Laravel Homestead 无法从主机连接到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com