Sails-mysql拒绝注册连接

时间:2017-08-21 10:18:28

标签: mysql node.js amazon-web-services sails.js waterline

我在AWS实例上安装了我的Sails应用程序,安装了所有依赖项,没有明显的问题。但是,每次我尝试启动应用程序时,都会收到以下错误。

error: AdapterError: Connection is already registered

我还没有设法在实例上成功提升风帆,并且sails-mysql已经新安装,因此不应该注册任何连接。

我已采取以下步骤来部署我的应用..

  • 设置MySql RDS实例(EU-West)
  • 创建并设置了Ubuntu AMD-64 t2.micro EC2实例(EU-West)
  • 已安装所有先决条件(Git,NVM,NodeJs,Sails等)
  • 克隆了我的Sails项目
  • 已安装的Sails依赖项
  • 正确配置Sails的连接设置以使用我的RDS实例。

我知道我的连接设置是正确的,因为我能够通过连接到我的RDS实例在本地计算机上运行Sails,并且它会一直提升而没有任何问题。

我也可以使用SequelPro连接到我的RDS实例,没有任何问题。

过去我遇到过依赖项问题,但已设法解决这些问题,并且在我的本地计算机或我的EC2实例上没有任何问题。

在搜索了一段时间后,我遇到了一些有类似问题但已设法使用Waterline的拆解方法修复它们的用户,但是,我不确定如何实现这一点。

我尽最大努力提供尽可能多的信息,任何帮助都会受到大力赞赏。

帆版本: 0.12.11

提前谢谢。

1 个答案:

答案 0 :(得分:0)

我设法通过执行以下操作来解决问题:

  • config/bootstrap.js

  • 中将我的环境切换为制作
  • connections.js添加connectTimeout: 20000以确保请求在建立连接之前不会超时。

    例如。 process.env.NODE_ENV = 'development'

  • 确保安全组的RDS规则允许来自与我的EC2实例关联的安全组的连接。

输入: MySQL / Aurora

协议: TCP

端口范围: 3306

来源:<您的安全组ID>

遵循以上几点也意味着我在与RDS通信时克服了握手超时的问题。