首先,我在这里为服务器提供了这个代码,它完美地运行
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:
那么问题是什么?我不明白。我尝试访问phpMyAdmin时也遇到此错误: Link to the error
答案 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] ['主机'。]