我最近想在我的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]
答案 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服务器,你将不得不做一些为此工作。但你可能只是在学习,不会很快就这样做。