AWS RDS是否支持MySQL作为文档存储

时间:2017-01-22 10:30:04

标签: mysql node.js amazon-web-services amazon-rds document-store

我能够连接普通的AWS RDS MySQL实例(5.7.16)。但是,由于我必须使用MySQL作为文档存储,我通过安装mysqlx插件来配置MySQL实例,这是文档存储所必需的。

在此之后,我试图在同一个实例上的端口33060上连接MySQL文档存储但无法连接。我使用lambda进行连接,导入xdevapi(@ mysql / xdevapi)包并尝试在端口33060上连接MySQL RDS实例。

但是,我没有看到任何错误,因此我只是想知道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 个答案:

答案 0 :(得分:0)

很晚才回答,但希望将来可能有助于澄清类似的问题。由于显然RDS运行MySQL 5.7.16,因此默认情况下不应加载X插件(它启用文档存储)。

除非您能够提供mysqld启动选项(在本例中为--plugin-load=mysqlx=mysql.so)或具有客户端访问权限,否则您可以按照here所述的步骤启用该插件,你运气不好。

还有可能RDS正在运行某种fork,它甚至不捆绑X插件。

此外,Node.js的X DevAPI连接器仅保证对MySQL 8.0的支持,因此,虽然您应该能够在以后的MySQL 5.7版本中使用它,但是存在一些限制。

答案 1 :(得分:0)

由于MySQL 8.0.11现在可以在AWS上普遍使用,因此我们一直在通过x-plugin查看文档存储功能。

在示例数据库(https://dev.mysql.com/doc/refman/8.0/en/mysql-shell-tutorial-javascript-download.html)中,它创建了架构并将其导入为OK,但似乎并未将db对象公开给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#MySQL.Concepts.VersionMgmt,不支持X插件,据我了解,这意味着不支持文档存储功能。