我不熟悉AWS RDS& MySQL文档存储。
我创建了一个lambda(NodeJS 4.3)&一个RDS MySQL实例,它有默认端口3306.我通过MySQL shell启用了这个documentation中提到的X插件,并成功安装了MySQL文档存储所需的。
我的lambda导入xdevapi (@mysql/xdevapi)包并尝试连接端口33060上的MySQL RDS实例,因为xdevapi使用33060作为默认端口。
但是当我试图测试我的lambda然后它无法连接。因为,xdevapi使用默认端口33060.但是我的MySQL默认端口是3306.因此,我在安全组中添加了自定义规则以允许入站端口33060.然后,我尝试测试lambda然后它仍然无法连接
请注意,如果我在这里缺少任何东西。
答案 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文档存储。检查链接的线程以获取更多详细信息。