Sequelize连接错误

3

我正在尝试将我的应用程序转移到一台新机器上。它在旧机器上完美地运行,我已经尽可能地复制了设置,但是似乎有些东西丢失了。以下是我收到的错误信息:

Unhandled rejection SequelizeConnectionError: Handshake inactivity timeout
    at Handshake._callback (/Applications/MAMP/htdocs/dashboard-server/node_modules/sequelize/lib/dialects/mysql/connection-manager.js:63:20)
    at Handshake.Sequence.end (/Applications/MAMP/htdocs/dashboard-server/node_modules/mysql/lib/protocol/sequences/Sequence.js:96:24)
    at /Applications/MAMP/htdocs/dashboard-server/node_modules/mysql/lib/protocol/Protocol.js:393:18
    at Array.forEach (native)
    at /Applications/MAMP/htdocs/dashboard-server/node_modules/mysql/lib/protocol/Protocol.js:392:13
    at doNTCallback0 (node.js:417:9)
    at process._tickCallback (node.js:346:13)

你的想法是什么?

似乎是 node-mysql 包出了问题,你尝试重新下载包了吗? - Jonathan Solorzano
为什么不尝试增加连接的“acquireTimeout”值? - Jonathan Solorzano
我仍在努力寻找明确的原因,但值得一提的是,4.2.0 版本的 Node.js 在不到12小时前发布,很可能是罪魁祸首。 - Aren
@JonathanS. - 感谢您的建议 - 我尝试更新相关软件包,但没有效果 :( 至于 acquireTimeout,我考虑过这样做,但我没有使用池化技术,并且在另一台机器上它可以正常工作。 @Aren - 这是一个好点子,也许我会尝试回滚到以前的 NodeJS 版本,看看是否解决了问题 - 我很快就会发布我的结果。 - Jonathan
1个回答

9
只是确认问题要么是 Sequelize/mysql 与 Node 4.2.0 结合使用后,手动重新安装 4.1.1 之后我的问题消失了。
降级到 Node 4.1.x 或等待修补/修复程序等来解决您的问题。
其他信息 在这里 报告了 Bug,在 node-mysql 存储库问题跟踪器上。似乎有人在 Node 4.2.0 中发生了某些退步,但并未被捕捉到。 这里 是修复它的拉请求,已经合并并在 4.2.1 的候选版本中。
更新于 2015 年 10 月 13 日
Node 4.2.1 刚刚发布 (变更日志) 包含前面提到的修复程序。升级到 4.2.1 也应该解决您的问题。

就是这样!非常感谢您的帮助 - 让我省了很多麻烦!我降级到了4.1.1,我的应用程序立即启动了! - Jonathan
请查看此Pull Request。看起来他们正在赶在今天或明天发布4.2.1版本,因为有两个回归问题正在到处破坏事情。 - Aren
@Jonathan 如果你愿意,现在可以安全地更新到最新的Node版本4.2.1 - Aren
谢谢 - 我明天会查看它! - Jonathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接