【问题标题】:does node js mysql needs apachenode js mysql 需要apache吗
【发布时间】:2017-07-07 00:47:03
【问题描述】:

我最近想在我的 node.js 服务器上使用 MySQL 数据库。在做了一些挖掘之后,我找到了mysql的以下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]

【问题讨论】:

  • 不,它不需要apache,但它需要运行mysql。在本地主机上的情况。
  • 哦,所以它是一种与 MySQL 服务器@AlexBlex 通信的 API?那么这是否意味着如果我将host 更改为不是本地主机的东西,我也可以与 MySQL 服务器通信?然后不需要在我的机器上安装mysql?
  • 在某种程度上。它有点复杂。 mysql 有它自己的设置,最好的做法是将它绑定到本地或内部网络接口。继续监听公共 IP 被认为是不安全的。关键是 Mysql 是一个数据库,它自己运行。您可以同时从 shell、nodejs 或少数其他语言连接到它。

标签: mysql node.js apache


【解决方案1】:

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

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

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

有时人们会将“Apache”与诸如 MAMP 之类的东西混淆,后者将一堆东西捆绑在一起。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      Apache 是一个网络服务器。 MySQL是一个数据库。您不需要使用另一个。但是您确实需要在本地主机上运行 MySQL 服务器才能将 MySQL 与 Node.js 一起使用,您提供的 github 链接就像一个 API 以将 MySQL 与 Node.js 一起使用。

      Node.js 有自己的 Web 服务器,您可以将其用于开发,但是当您迁移到生产环境时,您可能希望在您的应用程序中使用 Apache 或 Nginx 之类的 Web 服务器,并且您必须做一些事情为此工作。但您可能只是在学习,不会很快这样做。

      【讨论】:

        猜你喜欢
        • 2013-02-05
        • 2017-04-10
        • 1970-01-01
        • 1970-01-01
        • 2019-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多