如何在AWS RDS上配置MySQL文档存储

时间:2017-01-20 16:08:13

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

我不熟悉AWS RDS& MySQL文档存储。

我创建了一个lambda(NodeJS 4.3)&一个RDS MySQL实例,它有默认端口3306.我通过My​​SQL shell启用了这个documentation中提到的X插件,并成功安装了MySQL文档存储所需的。

我的lambda导入xdevapi (@mysql/xdevapi)包并尝试连接端口33060上的MySQL RDS实例,因为xdevapi使用33060作为默认端口。

但是当我试图测试我的lambda然后它无法连接。因为,xdevapi使用默认端口33060.但是我的MySQL默认端口是3306.因此,我在安全组中添加了自定义规则以允许入站端口33060.然后,我尝试测试lambda然后它仍然无法连接

请注意,如果我在这里缺少任何东西。

3 个答案:

答案 0 :(得分:3)

简单的答案是您不能在mysql RDS中使用X插件。

请阅读AWS RDS官方的MySQL Features Not Supported By Amazon RDS部分,其中指出不支持 X插件,这就是RDS不提供任何配置端口的原因。

X插件实现了另一种称为 X协议的通信协议,因此需要将其暴露在其他端口(而非mysql连接端口)中,这是其默认端口是 33060 。 连接网址将是这样的mysqlx://localhost:33060

我还必须使用mysql Document Store,因此我在EC2上安装了mysql 8,它与它们的X DevAPI很好地兼容。

答案 1 :(得分:0)

看起来getSession方法采用port选项:

xdevapi.getSession({
    host: 'localhost',
    port: 3306,
    dbUser: 'root',
    dbPassword: ''
})

答案 2 :(得分:0)

one的副本的排序。简短的回答是:您可能无法在RDS上使用MySQL文档存储。检查链接的线程以获取更多详细信息。