Mysql 处理节点中的Azure SQL错误
我正在我的节点应用程序中使用Azure MySQL数据库,该数据库工作正常,只是在使用几分钟后,Azure关闭连接,节点抛出错误:Mysql 处理节点中的Azure SQL错误,mysql,node.js,azure,exception,Mysql,Node.js,Azure,Exception,我正在我的节点应用程序中使用Azure MySQL数据库,该数据库工作正常,只是在使用几分钟后,Azure关闭连接,节点抛出错误: Error: read ECONNRESET 我需要的是防止我的节点应用程序崩溃,并告诉它在出现异常后重新连接。我试过: var con = mysql.createConnection({ host: "mydatabase.mysql.database.azure.com", user: "nodeapp@mydataba
Error: read ECONNRESET
我需要的是防止我的节点应用程序崩溃,并告诉它在出现异常后重新连接。我试过:
var con = mysql.createConnection({
host: "mydatabase.mysql.database.azure.com",
user: "nodeapp@mydatabase",
password: "12345",
database: "mydatabase",
port: 3306
});
process.on('uncaughtException', function(err) {
con.destroy();
con.connect();
console.log(err);
});
这可以防止应用程序崩溃,但在此之后我的应用程序无法写入数据库,因此重新连接失败。出现这种错误后,我应该如何重新连接?非常感谢您的建议。重现您的错误:连接大约3分钟后抛出以下错误 原因似乎是数据库中的某些设置如下:
wait\u timeout=180
我的解决方案:
1。提高等待超时值:
2。如果在建立单个重复使用的连接时发生这种情况,可以通过建立连接池来避免。请参阅。有什么建议吗?我不是在寻找错误的来源,而是在错误发生时重新连接的方法。感谢您的努力。是的,异常处理代码可以防止应用程序崩溃,但不幸的是无法正确重新连接。但是提高timeout参数的值应该可以,谢谢。很高兴听到它有帮助,我会删除我答案中无用的部分。