You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Javascript连接MySQL时出现ECONNREFUSED错误求助

解决Node.js连接MySQL出现ECONNREFUSED ::1:3306的问题

核心问题排查与修复

1. 配置键名不匹配(最可能的原因)

你的代码中用config.dbHost、config.dbUser、config.dbPassword、config.dbName读取配置,但config.json里对应的键是db_host、db_user、db_pass、db_name——键名完全不匹配,导致代码读取到的host值为undefined,mysql模块会默认尝试连接本地IPv6地址::1:3306,触发连接拒绝错误。

修改代码里的配置读取字段,和config.json的键名对应:

const con = mysql.createConnection({
    host: config.db_host,
    user: config.db_user,
    password: config.db_pass,
    database: config.db_name,
});

2. Host配置格式错误

config.json里的db_host写了ip:3306,但mysql模块的host参数只需要IP地址,端口需单独通过port字段配置。修改如下:

更新config.json:

{
    // ...其他配置
    "db_host": "你的数据库IP",
    "db_port": 3306,
    // ...其他配置
}

更新代码:

const con = mysql.createConnection({
    host: config.db_host,
    port: config.db_port,
    user: config.db_user,
    password: config.db_pass,
    database: config.db_name,
});

3. 检查MySQL绑定地址设置

如果上述修改后仍报错,检查MySQL配置文件(my.cnf或my.ini)里的bind-address项:

  • 若设置为127.0.0.1,仅允许本地连接,远程客户端无法访问;
  • 需远程连接则设置为0.0.0.0(允许所有IPv4地址)或指定你的客户端IP;
  • 修改后重启MySQL服务生效。

另外确认你创建的MySQL用户确实允许从当前客户端IP登录(比如user@你的客户端IP或user@%允许所有IP),且密码正确。

内容的提问来源于stack exchange,提问作者Zak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 18:30:15