我在Azure Web应用程序上托管了一个expressjs应用程序,并启用了Always On。
我使用bookshelfjs连接到Azure数据库,该数据库托管在Azure上的另一个虚拟服务器中。
过了一段时间,当我调用Web应用程序时,我得到以下错误,这告诉我它无法连接到数据库服务器:
select * from `member` where `name` = 'alvin' limit 1 -read ECONNRESET"
它与expressjs超时问题有关吗?
答案 0 :(得分:2)
根据SO MySQL giving "read ECONNRESET" error after idle time on node.js server上的类似问题,它似乎是一个MySQL连接问题。
正如答案所说:
MySQL确实修复了空闲连接。
请尝试在pool
的MySQL连接配置中添加Knex
设置。 E.G,
var knex = require('knex')({
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'your_database_user',
password : 'your_database_password',
database : 'myapp_test'
},
pool: {
min: 0,
max: 7
}
});
有关详细信息,请参阅http://knexjs.org/#Installation-pooling。