【问题标题】:Mysql connection failed from Virtual Box来自 Virtual Box 的 Mysql 连接失败
【发布时间】:2013-07-03 22:53:07
【问题描述】:

无法从 Nodejs 应用程序连接 MySql 服务器

环境:

MySql 服务器安装在 windows - 7.

安装在 Windows - 7 中的 Oracle Virtual Box Oracle virtual Box 包含 nodejs 应用程序和相关包。

注意:Virtual box 没有 MySql 服务器。

我正在尝试从我的 nodejs 应用程序连接 mySql 服务器(在 windows-7 中可用)。在 Oracle Virtual box(Linux) 中运行的 nodejs 应用程序

我在运行 nodejs 应用程序时收到以下错误消息。

错误信息: 事件.j2:72 投掷者; //未处理的“错误”事件

错误:连接 ECONNREFUSED 在 errnoException(net.js:901:11)

【问题讨论】:

    标签: node.js windows-7 virtualbox


    【解决方案1】:

    很难回答这个问题,因为描述非常混乱。但是,我认为可能是 mysql 可能仅绑定到环回接口。你应该检查 my.cnf 并设置

    bind-address=0.0.0.0 
    

    或类似的。

    【讨论】:

      【解决方案2】:

      这里有很多选择。

      如果您真的希望在 Windows 上使用 MySQL,您有两个单独的选择:

      1. 您可以在 Windows 上安装 nodejs 并让它在不使用 VirtualBox 的情况下访问 MySQL。
      2. 您可以使用 VirtualBox 设置一个虚拟网络,并让您的 nodejs 应用程序通过此虚拟网络连接到您在 Windows 上安装的 MySQL。这种配置可能很烦人,但它是可行的。

      就个人而言,我会避免上述两种路径。相反,我会在 Linux VM 上安装 MySQL。这将提供许多好处,例如您的整个应用程序被沙盒化。此外,您不必处理愚蠢的虚拟网络配置,因为您的 nodejs 应用程序可以连接到 MySQL @ localhost。

      您可以从那里将您的虚拟机网络模式设置为 NAT 并打开主机端口(您的 Windows 机器)以指向来宾端口(您的 VM)。通过这样做,您可以在 Linux VM 中有效地运行整个应用程序堆栈,并在 Windows 中毫无问题地访问它。

      【讨论】:

      • 我在 Windows-7 上使用 MySql 和在 Virtual Box 中使用 Node 应用程序的原因是,我的 Node 应用程序有 bcrypt 模块。由于 Bcrtpt 在 windows7 中不起作用。因此我选择了在 windows7 上安装 Mysql 和在 Virtual Box 中安装 Node 应用程序的选项。
      猜你喜欢
      • 2015-06-26
      • 1970-01-01
      • 1970-01-01
      • 2020-03-11
      • 2020-06-12
      • 2019-03-01
      • 1970-01-01
      • 2016-03-19
      • 2015-01-19
      相关资源
      最近更新 更多