Поддерживает ли 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, есть несколько ограничений.