Nap*_*ars 5 mysql error-handling node.js express
我目前正在使用NodeJS开发应用程序。
但是,服务器通常会抛出此错误,并且我无法与mysql交互。
[Error: read ETIMEDOUT]
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'read',
fatal: true }
{ [Error: Cannot enqueue Query after fatal error.] code: 'PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR', fatal: false }
Run Code Online (Sandbox Code Playgroud)
有人有解决此问题的解决方案吗?
谢谢
从你的问题来看,我假设你可以完美地使用你的数据库,但是这个错误经常在连接启动的给定时间后发生......
假设您正在使用node-mysql
\n来源: https: //github.com/felixge/node-mysql#error-handling
\n您的错误终止了与数据库的连接:
\n\n\nerr.fatal:布尔值,指示此错误是否是连接对象的终端错误。
\n\n
\n 如果错误不是来自 MySQL 协议操作,则不会定义此属性。注意:“错误”事件在节点中是特殊的。如果它们在没有附加侦听器的情况下发生,则会打印堆栈跟踪并终止您的进程。
\n\ntl;dr:该模块不希望您处理静默故障。您应该始终为您的方法调用提供回调。如果您想忽略此建议并抑制未处理的错误,您可以执行以下操作:
\n
// I am Chuck Norris:\nconnection.on(\'error\', function() {});\nRun Code Online (Sandbox Code Playgroud)\n\n您可以从中检查连接状态并在需要时执行重新连接。
\n\n您还可以尝试手动连接到 mysql 服务并更改请求超时:
wait_timeout\xe2\x80\x9d : the amount of seconds during inactivity that MySQL will wait before it will close a connection on a non-interactive connection in seconds.\nRun Code Online (Sandbox Code Playgroud)\n\nhttp://www.serveridol.com/2012/04/13/mysql-interactive_timeout-vs-wait_timeout/\n
https://support.rackspace.com/how-to/how-to-change-the-mysql-服务器超时/
| 归档时间: |
|
| 查看次数: |
6915 次 |
| 最近记录: |