节点js mysql是否需要apache

时间:2017-07-06 16:35:02

标签: mysql node.js apache

我最近想在我的node.js服务器上使用MySQL数据库。在进行了一些挖掘后,我发现mysql的{​​{1}}的以下github页面将通过node.js使用:

https://github.com/mysqljs/mysql

然而,我不确定是否这是一个允许node.js与MySQL数据库通信的API,或者如果这是MySQL数据库的完整实现(因此我不会这样做)需要安装apache)。因为我尝试在没有apache服务器的情况下实现它,所以它给了我一个错误:

代码运行(执行npm install mysql之后)

var mysql = require('mysql');

var connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'articles'
});

connection.connect();

错误:

  

[错误:连接ECONNREFUSED 127.0.0.1:3306]

3 个答案:

答案 0 :(得分:1)

Node.js MySQL不需要Apache;但是,请确保您在本地计算机上运行MySQL服务器。

答案 1 :(得分:1)

“Apache”通常是指Apache httpd程序,它只是一个Web服务器。您可以将其与Node应用程序结合使用,例如通过Passenger来处理进程管理和负载平衡。

MySQL是一个单独的包,一个数据库服务器,如果你想在你的Node代码中使用MySQL,它必须运行。 MySQL的NPM包只是一个驱动程序,它需要一个服务器来连接,如果一个没有运行它配置连接的地方,你会看到一个像你得到的错误。

这里的解决方案是在您的机器上安装MySQL服务器,或者使用您控制的现有MySQL服务器。

有时人们会将“Apache”与MAMP之类的东西混为一谈。{{3}}将一堆东西捆绑在一起。

答案 2 :(得分:1)

Apache是​​一个Web服务器。 MySQL是一个数据库。您不需要使用另一个。但是你确实需要在你的localhost上运行一个MySQL服务器来使用带有Node.js的MySQL,你提供的github链接就像是一个使用MySQL和Node.js的API。

Node.js有自己的Web服务器可用于开发,但是当你转到生产时,你会想要在你的应用程序中使用像Apache或Nginx这样的Web服务器,你将不得不做一些为此工作。但你可能只是在学习,不会很快就这样做。