【问题标题】:Does AWS RDS supports MySQL as document storeAWS RDS 是否支持 MySQL 作为文档存储
【发布时间】:2017-06-06 23:43:02
【问题描述】:

我能够连接正常的 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});
 });

请帮我找到这个。

【问题讨论】:

  • 如果您看不到错误,则意味着您必须打开错误报告。
  • 我正在使用 .catch() 来捕获任何错误。我试图给一些不可用的端口然后我得到错误。但是,这个 33060 端口我什么都看不到,如果没有问题,它就不会进入。我会用我的代码更新问题。
  • 你为什么使用端口 33060 而不是端口 3306?另外,该端口(3306 或 33060)是否在 RDS 安全组中打开?

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


【解决方案1】:

由于 MySQL 8.0.11 现在在 AWS 上普遍可用,我们一直在通过 x-plugin 研究文档存储功能。

在示例 DB (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 插件,据我了解,这意味着不支持文档存储功能。

【讨论】:

    【解决方案2】:

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

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

    还有可能 RDS 正在运行某种分叉,甚至没有捆绑 X 插件。

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

    【讨论】:

      猜你喜欢
      • 2017-06-05
      • 2016-03-08
      • 2019-12-29
      • 1970-01-01
      • 2019-12-07
      • 2021-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多