Как настроить хранилище документов MySQL на AWS RDS
Я новичок в AWS RDS и MySQL хранилище документов.
Я создал одну лямбду (NodeJS 4.3) и один экземпляр RDS MySQL с портом по умолчанию 3306. Я включил X Plugin, как упомянуто в этой документации, через оболочку MySQL и успешно установил его, что необходимо для хранилища документов MySQL.
Мой lambda импортирует пакет xdevapi (@mysql/xdevapi) и пытается подключиться к экземпляру MySQL RDS через порт 33060, потому что xdevapi использует порт 33060 в качестве порта по умолчанию.
но когда я пытаюсь проверить свою лямбду, она не может подключиться. Потому что xdevapi использует порт по умолчанию 33060. Но мой порт MySQL по умолчанию - 3306. Итак, я добавил пользовательское правило в группы безопасности, чтобы разрешить входящий порт 33060. Затем я попытался проверить лямбду, но она все еще не может подключиться.
Пожалуйста, предложите, если что-то мне не хватает здесь.
2 ответа
Короткий ответ: вы не можете использовать X Plugin в mysql RDS.
Прочтите раздел " Функции MySQL, не поддерживаемые Amazon RDS" в официальном сообщении AWS RDS, в котором говорится, что подключаемый модуль X не поддерживается, поэтому RDS не предоставляет никаких возможностей для настройки порта для него.
X Plugin реализует другой протокол, называемый X Protocol для связи, поэтому он должен быть представлен в другом порту (кроме порта подключения mysql), его порт по умолчанию - 33060. URL-адрес подключения будет примерно такимmysqlx://localhost:33060
.
Мне также пришлось использовать mysql Document Store, поэтому я установил mysql 8 на EC2, и он хорошо работает с их X DevAPI.
Похоже, getSession
метод занимает port
опция:
xdevapi.getSession({
host: 'localhost',
port: 3306,
dbUser: 'root',
dbPassword: ''
})
Вроде дубликата этого. Короткий ответ: вы, вероятно, не сможете использовать MySQL Document Store на RDS. Проверьте связанный поток для дополнительных деталей.