带有mySQL的Node.js - >连接拒绝127.0.0.1:3306

时间:2017-03-23 07:09:31

标签: javascript mysql node.js

首先,我在这里为服务器提供了这个代码,它完美地运行

var app = require('express')();
var mysql = require('mysql');


app.get('/', function (req, res) {
    res.sendFile(__dirname + "/start.html");
});

app.listen(3000);

但是,如果我尝试创建与数据库的连接,则表示连接被拒绝为127.0.0.1:3036

var db = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'user_data'
});
db.connect();

我正在使用XAMMP:

Click here -> MySQL / Apache

那么问题是什么?我不明白。我尝试访问phpMyAdmin时也遇到此错误: Link to the error

1 个答案:

答案 0 :(得分:1)

您需要指定一个端口,因为您的数据库正在侦听非标准端口

var db = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'user_data',
    port: 3036
});
db.connect();

对于phpMyAdmin,您需要在phpMyAdmin的顶级目录中找到config.inc.php并编辑它所在的行

$cfg['Servers'][$i]['port']

到您正在使用的端口。你需要改变

$cfg['Servers'][$i]['host']

127.0.0.1而不是localhost,因为:

  

如果您使用localhost作为主机名,MySQL会忽略此端口号并与套接字连接,因此如果您要连接到与默认端口不同的端口,请使用127.0.0.1或$ cfg中的真实主机名[& #39;服务器'] [$ I] ['主机'。]

Documentation on phpMyAdmin