![](/img/trans.png)
[英]Connection refused when connecting to mysql in docker, using a go webservice
[英]Connection refused when connecting to MySql using NodeJS mysql2
我正在运行一个托管在 (linux) 专用 Plesk 服务器上的 NodeJS 应用程序,位于子域下。 尝试连接到 MariaDB mysql 服务器。 NodeJS 代码:
const mysql = require('mysql2');
const con = mysql.createConnection({
host: "localhost",
user: "username",
password: "password",
database: "myDatabase"
});
global.MYSQL_CONNECTION = con;
function Connect(onSuccess){
con.connect(function(err) {
if (err) throw err;
console.log("MySQL connected successfully.");
onSuccess(con);
});
}
当我运行它时,我收到以下错误:
Error: connect ECONNREFUSED ::1:3306
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1195:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '::1',
port: 3306,
fatal: true
}
但是,当我在 bash 终端上运行mysql -hlocalhost -uusername -ppassword
时,它连接正常,这意味着凭据正确且用户具有权限。
这可能是什么原因造成的?
想出了解决这个问题的办法。 我所要做的就是将主机更改为 127.0.0.1:
const con = mysql.createConnection({
host: "127.0.0.1",
user: "username",
password: "password",
database: "myDatabase"
});
我不确定原因。 这很可能与它在子域上运行的事实有关。 如果有人能说明原因,那就太好了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.