Web App数据库ECONNRESET

时间:2016-07-28 13:08:05

标签: mysql node.js azure azure-web-sites bookshelf.js

我在Azure Web应用程序上托管了一个expressjs应用程序,并启用了Always On。

我使用bookshelfjs连接到Azure数据库,该数据库托管在Azure上的另一个虚拟服务器中。

过了一段时间,当我调用Web应用程序时,我得到以下错误,这告诉我它无法连接到数据库服务器:

select * from `member` where `name` = 'alvin' limit 1 -read ECONNRESET"

它与expressjs超时问题有关吗?

1 个答案:

答案 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