gpt4 book ai didi

mysql - NodeJS + MySQL Web 应用程序中的 ECONNREFUSED 错误

转载 作者:行者123 更新时间:2023-11-29 10:30:38 25 4
gpt4 key购买 nike

我有一个在 NodeJS + MySQL 上运行的 Web 应用程序。最初,Web 应用程序工作正常,但突然 MySQL 连接被拒绝,并抛出以下错误:

ECONNREFUSED 127.0.0.1:3306

只需使用 pm2 reload 重新启动服务器即可暂时解决该问题。但经过很长一段时间后,上述错误再次出现。

NodeJS中连接MySQL的配置如下:

"sqlconn": {
"connectionLimit": 10,
"host": "127.0.0.1",
"user": "root",
"password": "XYZ",
"database": "test",
"port": 3306,
"multipleStatements": true
}

知道如何解决这个问题吗?

注意:我使用的是 RAM 大小为 512MB 的 digital ocean 水滴

最佳答案

为了检查出了什么问题,我打开了 MySQL 日志文件:

/var/log/mysql/error.log

日志内容如下:

InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
InnoDB: Cannot allocate memory for the buffer pool
InnoDB: Plugin initialization aborted with error Generic error
Plugin 'InnoDB' init function returned error.
Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Failed to initialize plugins.

所以原因是Mysql因为内存不足而无法重新启动

要解决内存问题,可以遵循以下答案:https://stackoverflow.com/a/32932601/3994271

上述链接中讨论的可能的解决方案是:

  • 增加 RAM 大小,或
  • 配置交换文件

我决定配置交换文件

以下链接提供了有关配置交换文件的详细信息: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04

关于mysql - NodeJS + MySQL Web 应用程序中的 ECONNREFUSED 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47466123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com