Virtual Box的Mysql连接失败

时间:2013-07-03 09:24:22

标签: node.js windows-7 virtualbox

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

环境:

安装在Windows中的MySql服务器 - 7.

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

注意:虚拟框没有MySql服务器。

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

运行nodejs应用程序时出现以下错误消息。

错误讯息: events.j2:72     扔掉//未处理的'错误'事件

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

2 个答案:

答案 0 :(得分:1)

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

bind-address=0.0.0.0 

或类似。

答案 1 :(得分:0)

这里有很多选择。

如果您真的希望在Windows上使用MySQL,则可以选择两个选项:

  1. 您可以在Windows上安装nodejs,并让它在不使用VirtualBox的情况下访问MySQL。
  2. 您可以使用VirtualBox设置虚拟网络,并让您的nodejs应用程序通过此虚拟网络连接到Windows上的MySQL安装。这种配置可能很烦人,但它是可行的。
  3. 就个人而言,我会避免上述两种方式。相反,我会在Linux VM上安装MySQL。这将提供许多好处,例如整个应用程序被沙盒化。此外,您不必处理愚蠢的虚拟网络配置,因为您的nodejs应用程序可以连接到MySQL @ localhost。

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