Sails-mysql отказывается регистрировать соединение

У меня есть приложение Sails на экземпляре AWS со всеми зависимостями, установленными без видимых проблем. Однако каждый раз, когда я пытаюсь запустить приложение, я получаю следующую ошибку.

error: AdapterError: Connection is already registered

Мне еще не удалось успешно поднять паруса на экземпляре, и sails-mysql был недавно установлен, поэтому никакие соединения не должны быть зарегистрированы.

Я предпринял следующие шаги для развертывания моего приложения..

  • Настройте экземпляр MySql RDS (ЕС-Запад)
  • Создание и настройка экземпляра Ubuntu AMD-64 t2.micro EC2 (ЕС-Запад)
  • Установлены все предварительные условия (Git, NVM, NodeJs, Sails и т. Д.)
  • Клонировал мой проект Sails
  • Установленные зависимости для парусов
  • Правильно настроены параметры подключения для Sails для использования моего экземпляра RDS.

Я знаю, что мои настройки соединения правильные, так как я смог запустить Sails на своем локальном компьютере с подключением к моему экземпляру RDS, и он будет постоянно подниматься без каких-либо проблем.

Я также могу без проблем подключиться к своему экземпляру RDS с помощью SequelPro.

У меня были проблемы с зависимостями в прошлом, но мне удалось исправить эти проблемы, и у меня не было ни одной из них на моей локальной машине или с моим экземпляром EC2.

После некоторого поиска я столкнулся с несколькими пользователями, у которых были похожие проблемы, но им удалось исправить их с помощью методов разрыва Waterline, однако я не уверен, как этого добиться.

Я сделал все возможное, чтобы предоставить как можно больше информации, и любая помощь будет высоко оценена.

Паруса Версия: 0.12.11

Заранее спасибо.

1 ответ

Решение

Мне удалось решить проблему, выполнив следующее:

  • Переключил мою среду на производство в config/bootstrap.js

  • В connections.js добавлять connectTimeout: 20000 чтобы убедиться, что время запроса не истекло до установления соединения.

    например. process.env.NODE_ENV = 'development'

  • Убедитесь, что правила безопасности группы безопасности для RDS разрешают соединения из группы безопасности, связанной с моим экземпляром EC2.

Тип: MySQL / Аврора

Протокол: TCP

Диапазон портов: 3306

Источник: <идентификатор вашей группы безопасности>

Следование вышеуказанным пунктам также означало, что я преодолел проблему с тайм-аутами рукопожатия при общении с RDS.

Другие вопросы по тегам