MySQL 连接问题:“连接丢失:服务器关闭了连接”
问题:
在 MySQL 中使用 Node.js 时,在特定时间出现“连接丢失:服务器关闭连接”错误(通常在午夜到凌晨 2 点之间)。
解决方案:
请按照以下步骤解决此问题:
var db_config = { host: 'localhost', user: 'root', password: '', database: 'example' }; var connection; function handleDisconnect() { // Recreate the connection connection = mysql.createConnection(db_config); connection.connect(function(err) { if(err) { console.log('error when connecting to db:', err); setTimeout(handleDisconnect, 2000); // Delay before reconnecting } }); // Handling connection errors connection.on('error', function(err) { console.log('db error', err); if(err.code === 'PROTOCOL_CONNECTION_LOST') { handleDisconnect(); } else { throw err; } }); } handleDisconnect();
说明:
此代码片段创建与 MySQL 的新连接发生断开连接时的服务器。 setTimeout 函数引入了延迟以防止热循环,允许脚本在重新连接时处理其他请求。
错误处理程序配置为处理“PROTOCOL_CONNECTION_LOST”错误,这些错误通常在服务器重新启动期间发生。重新抛出其他错误,提供有关该问题的更详细信息。
调用handleDisconnect()函数来启动错误处理和重新连接过程。
以上是为什么我的 Node.js MySQL 连接在午夜和凌晨 2 点之间失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!