我使用Node.js作为服务器端。我在本地主机上测试了代码,一切都正常。我购买了一个服务器,并在其上安装了Apache和Node.js,然后在服务器上测试了我的Web应用程序。我将MySQL连接配置从localhost正确地更改为服务器配置。
我使用以下配置进行Web应用程序测试:
var mysql = require('mysql');
var mysqlConnection;
function new_mysqlConnection() {
mysqlConnection = mysql.createConnection({
host : 'myurl.at',
user : 'myusername',
database : 'mydatabase',
password : 'mypassword'
});
}
我使用以下命令启动Node.js服务器:$ node server.js
当我加载页面时,它会正确显示,但是当 Node.js 尝试连接到数据库时,我总是会得到以下错误:
Error: connect ECONNREFUSED
at errnoException (net.js:905:11)
at Object.afterConnect [as oncomplete] (net.js:896:19)
--------------------
at Protocol._enqueue (/var/www/node_modules/mysql/lib/protocol/Protocol.js:135:48)
at Protocol.handshake (/var/www/node_modules/mysql/lib/protocol/Protocol.js:52:41)
at Connection.connect (/var/www/node_modules/mysql/lib/Connection.js:119:18)
at reconnectDb (/var/www/server.js:319:18)
at app.get.email (/var/www/server.js:109:2)
at Layer.handle [as handle_request] (/var/www/node_modules/express/lib/router/layer.js:82:5)
at trim_prefix (/var/www/node_modules/express/lib/router/index.js:302:13)
at /var/www/node_modules/express/lib/router/index.js:270:7
at Function.proto.process_params (/var/www/node_modules/express/lib/router/index.js:321:12)
at next (/var/www/node_modules/express/lib/router/index.js:261:10)
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 4322/mysqld
我的server.js正在2000端口上运行,这两个应该在同一个端口上运行吗?您说的“您连接的是什么类型的网络?”是什么意思?谢谢! - NicosocketPath: '/var/run/mysqld/mysqld.sock'
但还是谢谢你的时间! :) - Nico