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

Ubuntu 20.0.2服务器用nodemon启动Node遇ERR_OUT_OF_RANGE错误求助

错误原因排查及解决方法

错误核心原因

  1. 端口配置错误:你配置的MySQL端口是33060,这是MySQL的X Protocol(用于文档存储)专用端口,而你使用的mysql驱动包仅支持传统MySQL协议的默认端口3306,驱动解析X协议的握手包时会触发Buffer越界的ERR_OUT_OF_RANGE错误。
  2. 驱动版本兼容性问题:旧版mysql驱动包与高版本MySQL服务器(8.0+)的握手协议格式不兼容,解析初始化数据包时超出Buffer范围。

具体解决方法

方法1:修正MySQL端口配置

将ormConfig.json和datasource.ts中的port字段从33060改为3306:

// ormConfig.json
{
  "port": 3306
}
// datasource.ts
export const AppDataSource = new DataSource({
  port: 3306,
  // 其他配置保持不变
});

可通过netstat -tulpn | grep mysql命令验证MySQL服务是否在3306端口正常运行。

方法2:替换为兼容的MySQL驱动

卸载旧的mysql包,安装适配新MySQL版本的mysql2驱动:

npm uninstall mysql
npm install mysql2

若需要,可在TypeORM配置中显式指定驱动:

// datasource.ts
export const AppDataSource = new DataSource({
  type: 'mysql',
  driver: require('mysql2'),
  // 其他配置保持不变
});

方法3:统一配置文件

确保ormConfig.json和datasource.ts的配置完全一致,建议优先使用datasource.ts(TypeORM新版本推荐配置方式),删除或注释ormConfig.json的冗余配置,避免双重配置导致加载冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 15:36:34