Поддерживает ли AWS RDS MySQL в качестве хранилища документов?

Я могу подключиться к обычному экземпляру AWS RDS MySQL (5.7.16). Но, поскольку я должен использовать MySQL в качестве хранилища документов, я настроил экземпляр MySQL, установив плагин mysqlx, который требуется для хранилища документов.

После этого я пытаюсь подключиться к хранилищу документов MySQL через порт 33060 на том же экземпляре, но не могу подключиться. Я использую лямбду для соединения, которое импортирует пакет xdevapi (@mysql/xdevapi) и пытается соединиться с экземпляром MySQL RDS через порт 33060.

Но я не вижу ошибки, поэтому мне просто интересно, есть ли в AWS RDS поддержка хранилища документов MySQL.

Код:

 xdevapi.getSession({
   host: process.env.HOSTNAME, 
   port:  process.env.PORT,
   dbUser: process.env.DB_USER, 
   dbPassword:  process.env.DB_PASSWORD
 }).then(function (session) {
    console.log("Connected");
    session.close();
    return callback(null, {'responsne':'connected', statusCode: 200});
 }).catch(function (err) {
     console.log(err.stack);
     return callback(null, {'responsne':err.stack, statusCode: 400});
 });

Пожалуйста, помогите мне найти это.

2 ответа

Поскольку MySQL 8.0.11 теперь в основном доступен на AWS, мы смотрим на функциональность Document Store через x-plugin.

Следуя примеру БД ( https://dev.mysql.com/doc/refman/8.0/en/mysql-shell-tutorial-javascript-download.html), он создает схему и импортирует ее в порядке, но не кажется, что выставить объект БД для mysqlsh.

Например, когда я бегу

\use world_x  

подключен к локальному экземпляру хоста, он выводит

Default schema set to `world_x`.
Fetching table and column names from `world_x` for auto-completion... Press ^C to stop.

тогда как при подключении к экземпляру RDS я получаю только

Default schema set to `world_x`.

Кроме того, согласно https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html плагин X не поддерживается, что, как я понимаю, означает, что функциональность Document Store не не поддерживается

Довольно поздний ответ, но, надеюсь, это поможет прояснить подобные вопросы в будущем. Поскольку очевидно, что RDS работает под управлением MySQL 5.7.16, по умолчанию он не должен загружать плагин X (который включает хранилище документов).

Если вы не можете предоставить mysqld параметры запуска (в этом случае --plugin-load=mysqlx=mysql.so) или иметь доступ клиента, и в этом случае вы можете выполнить шаги, описанные здесь, чтобы включить плагин, вам не повезло.

Также существует вероятность того, что RDS запускает какой-то форк, который даже не включает X Plugin.

Кроме того, X DevAPI-коннектор для Node.js гарантирует только поддержку MySQL 8.0, поэтому, хотя вы должны иметь возможность использовать его с более поздними версиями MySQL 5.7, есть несколько ограничений.

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