2015-06-01 99 views
1

我在node.js项目上使用bookshelf.js,它在我的本地主机上正常工作。 但是,当我试图把它放在AWS + RDS,它给了我下面的错误:Knex:错误池2 - 错误:错误分配资源:连接ECONNREFUSED

Express server listening on port 8000 
Knex:Error Pool2 - Error: Error allocating resources: connect ECONNREFUSED 
Knex:Error Pool2 - Error: Error allocating resources: connect ECONNREFUSED 

显然,我的连接CONFIGS发生了变化。

module.exports = { 
     host  : 'https://my_rds_url:3306', 
     user  : 'root', 
     database  : 'my_database', 
     password : 'my_pw' 
} 

它可能是什么?

谢谢。

回答

2

在大多数情况下,这是给其他的服务器地址不是“localhost”的问题。 据我所知,您已将代码从PC移至远程服务器。诀窍是node.js是服务器端,因此对于节点,这段代码仍然是本地主机(非远程)

尝试将“https://my_rds_url:3306”更改为“localhost:3306”。

1

您需要验证您的客户端是否有权访问sql服务器。 使用MySQL Workbench \ adminer.php或任何其他客户端测试远程连接,将其安装到您的客户端并尝试连接。

如果失败了,您需要设置您的sql server以允许远程连接。只要考虑安全问题。

哦,我只注意到你设置的“https”作为东道主,将其更改为:

host  : 'my_rds_url:3306',