首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用MySql mysql2连接到NodeJS时,拒绝连接

当使用MySql mysql2连接到NodeJS时,拒绝连接
EN

Stack Overflow用户
提问于 2022-08-11 09:00:30
回答 1查看 346关注 0票数 0

我正在运行一个NodeJS应用程序托管在一个(linux)专用Plesk服务器上,在一个子域中。试图连接到MariaDB mysql服务器。NodeJS代码:

代码语言:javascript
复制
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);
      });
}

当我运行这个程序时,我会得到以下错误:

代码语言:javascript
复制
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时,它连接得很好,这意味着凭证是正确的,并且用户有权限。

是什么导致了这一切?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-17 17:42:49

想出了解决办法。我所要做的就是将主机更改为127.0.0.1:

代码语言:javascript
复制
const con = mysql.createConnection({
  host: "127.0.0.1",
  user: "username",
  password: "password",
  database: "myDatabase"
});

我不确定原因。这很可能与运行在子域上这一事实有关。如果有人能说明原因的话就太好了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73317991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档