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

Node.js连接Hostinger MySQL云服务器遇Error: read ECONNRESET问题求助

解决Node.js连接Hostinger MySQL云服务器出现ECONNRESET错误的方案

1. 检查Hostinger MySQL远程访问权限

  • 登录Hostinger控制面板,进入MySQL数据库管理页
  • 确认你的本地公网IP已添加到允许访问的IP白名单(Hostinger默认不开放所有IP访问,必须手动添加)
  • 不知道本地公网IP的话,可通过curl ifconfig.me(Linux/macOS)或国内IP查询工具获取,再添加到白名单

2. 核对MySQL连接参数

确保Node.js配置里的参数和Hostinger提供的完全一致:

  • host: Hostinger给出的MySQL服务器域名(如mysqlxxx.hostinger.com)
  • port: 默认3306,除非你手动修改过
  • user: 专属数据库用户名(不是Hostinger账户用户名)
  • password: 数据库创建时设置的密码(注意大小写、特殊字符)
  • database: 要连接的数据库名称

用这段测试代码快速验证:

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: '你的Hostinger MySQL地址',
  user: '数据库用户名',
  password: '数据库密码',
  database: '数据库名',
  port: 3306
});

connection.connect((err) => {
  if (err) {
    console.error('连接失败:', err);
    return;
  }
  console.log('成功连接到Hostinger MySQL');
});

// 监听错误,避免程序直接崩溃
connection.on('error', (err) => {
  console.error('数据库连接异常:', err);
});

3. 排查本地网络与防火墙

  • 临时关闭本地防火墙,或添加规则允许Node.js访问3306端口
  • 若在公司/校园网络,切换到手机热点测试,排除网络限制问题
  • 关闭本地代理软件后重试连接

4. 升级MySQL驱动包

你用的mysql包已停止维护,和Node.js v20.9.0可能存在兼容性问题,建议换成mysql2:

  • 卸载旧包:npm uninstall mysql
  • 安装新包:npm install mysql2
  • 代码中把require('mysql')改成require('mysql2'),API基本兼容,无需大幅修改

5. 添加连接重试逻辑

在代码中增加错误处理,避免连接中断导致程序崩溃:

const mysql = require('mysql2');

function initDBConnection() {
  const connection = mysql.createConnection({
    // 你的连接参数
  });

  connection.on('error', (err) => {
    console.error('连接中断,3秒后重试:', err);
    setTimeout(initDBConnection, 3000);
  });

  connection.connect();
  return connection;
}

const db = initDBConnection();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:11:02