错误:与node.js中的SQl失去连接
我在服务器中使用felixge/node-mysql模块连接到本地数据库。 过了一会儿,它抛出一个错误:错误:与node.js中的SQl失去连接,node.js,Node.js,我在服务器中使用felixge/node-mysql模块连接到本地数据库。 过了一会儿,它抛出一个错误: Error: Connection lost: The server closed the connection. at Protocol.end (/var/www/server/node_modules/mysql/lib/protocol/Protocol.js:78:13) at Socket.<anonymous> (/var/www/server/no
Error: Connection lost: The server closed the connection.
at Protocol.end (/var/www/server/node_modules/mysql/lib/protocol/Protocol.js:78:13)
at Socket.<anonymous> (/var/www/server/node_modules/mysql/lib/Connection.js:81:28)
at Socket.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)
错误:连接丢失:服务器已关闭连接。
在Protocol.end(/var/www/server/node_modules/mysql/lib/Protocol/Protocol.js:78:13)
在插座上。(/var/www/server/node_modules/mysql/lib/Connection.js:81:28)
位于Socket.EventEmitter.emit(events.js:117:20)
at_stream_readable.js:920:16
在进程中调用(node.js:415:13)
我连接到子进程及其父进程中的sql。错误总是由子进程抛出,因此当它抛出时,子进程将死亡
我已经放置了处理程序来捕获错误发生的时刻,以便了解错误发生的原因,但似乎没有任何明显的原因
它是完全随机的,这意味着无论服务器中有多少活动,或者当客户端请求某个url时,甚至是自发地,都可能发生这种情况
为了避免孩子自杀,我“解决”了一个问题,即在错误发生时放置一个重新连接连接的处理程序
然而,我还不开心,因为我不知道为什么会这样,我也不知道有什么线索
这是一个模块错误吗
p.D:忘了共享连接吧,现在这不是一个选项
p.p.D:代码是“协议连接丢失”为了避免由于不活动而导致的断开连接,我通常会设置一个周期性计时器,定期执行
连接.ping()
,它会向服务器发送一个简单的ping数据包。我不认为这是一个不活动错误,但我会设置一个计时器