当前位置: 代码迷 >> JavaScript >> 启动我的 node.js 应用程序时出现错误 connect ECONNREFUSED 127.0.0.1:3306
  详细解决方案

启动我的 node.js 应用程序时出现错误 connect ECONNREFUSED 127.0.0.1:3306

热度:105   发布时间:2023-06-05 10:28:06.0

当我启动 node.js 应用程序时,出现此错误:

SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306

我在做什么:

 - create a user:
CREATE USER 'main'@'localhost' IDENTIFIED BY 'myPass';

 - give this user all privileges
GRANT ALL PRIVILEGES ON *.* TO 'main'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

然后我尝试通过我的生产代码进行连接,它给了我一个错误:connect ECONNREFUSED 127.0.0.1:3306。

但在我的本地主机环境中,它连接良好。 当我尝试在 VPS 上使用命令行连接到数据库时,它也可以工作: mysql -umain -p

我无法与代码连接。 但是在我的本地主机上它连接。 仔细检查了我的登录信息并通过 .env 中的 DB 用户。

尝试重新启动 MySQL 服务。

我发现了一个问题! 在我的 mysql 配置文件(etc/my.cnf)中, bind-address = my VPS ip所以,当我删除这一行时,它开始监听 al ips。

谢谢大家!

以防万一你属于我的类别,我只是忘了把我的本地服务器 (XAMMP) 放在上面。 您可能想要检查您的 MySQL 服务器是否处于活动状态。

我遇到了同样的问题,并通过在我的 sequelize 减速中添加“socketPath”来解决它,如下所示:

const sequelize = new Sequelize('db-name', 'user', 'password', {
  host: 'localhost',
  dialect: 'mysql',
  dialectOptions: {
    socketPath: 'your socket path',
    supportBigNumbers: true,
    bigNumberStrings: true
  },
});

通过输入 /etc/mysql/mysqld.cnf 找到你的套接字路径:然后你有你的套接字路径:

user        = mysql
# pid-file  = /var/run/mysqld/mysqld.pid
# socket    = /var/run/mysqld/mysqld.sock
# port      = 3306
# datadir   = /var/lib/mysql
  相关解决方案