Amazon RDS (MySQL 8.0) 上无法访问 mysqlx 插件

问题描述

运行本地实例没问题,但连接到 MysqL RDS AWS 时出现问题,而不是连接到 RDS 私有网络的问题。

这是尝试建立连接时的错误错误 - 无法 同步数据库。与服务器的连接尝试已中止。 超过了 10000 毫秒的超时时间。

MysqL> SELECT * FROM performance_schema.global_variables WHERE variable_name LIKE 'MysqLx%';
| VARIABLE_NAME | VARIABLE_VALUE |

+| MysqLx_bind_address | * +| MysqLx_connect_timeout | 30 +| MysqLx_idle_worker_thread_timeout | 60 +| MysqLx_max_allowed_pa​​cket | 1048576 +| MysqLx_max_connections | 100 +| MysqLx_min_worker_threads | 2 +| MysqLx_port | 33060 +| MysqLx_port_open_timeout | 0

并且插件也处于活动状态,从 sql,show plugins 显示MysqLx |活跃 |守护进程 | MysqLx.so | GPL |

this thread 上引用贡献者。

基于此线程。 Does AWS RDS supports MySQL as document store @ruiquelhas /先生。 Rui Quelhas 似乎建议有一种方法可以基于上面其他人提到的当前 MysqL RDS 设置来启用运行 X 协议的 RDS。

我现有的 MysqL RDS 实例显示禁用了 MysqLx。

enter image description here

在 Node.Js 上使用 MysqL Community RDS 8.0.21 版本和 MysqL/xdevapi 8.0.21。

RDS AWS 似乎使 MysqLx parameters数据库启动时不可修改,如图所示。

enter image description here

但是,它们确实允许使用 MysqL 语句安装 new plugin,如图所示

所以我们不能在我的 MysqL 配置文件中设置 MysqLx=1。我们的应用程序的很大一部分是用 MysqLx 编写的,希望有人可以向我们展示解决方法吗? Google SQL doesn't support X Plugin

解决方法

Kevin,抱歉造成混淆,但在撰写该答案时,Amazon RDS 基于 MySQL 5.7.x 版本,默认情况下未安装 X 插件。但是,这并不意味着您不能启动 MySQL 8.x 并完全禁用 X 插件,似乎确实如此。

根据 Amazon RDS user guide,不支持 X 插件(这就是禁用它的原因)。如果您正在寻找替代 DBaaS,据我所知,Oracle Cloud 上的 MySQL Database Service 可能是唯一支持它的等效替代方案。

免责声明:我是 Node.js 的 MySQL X DevAPI 连接器的首席开发人员