所以我在OCI上创建了一个MYSQL DB,可以通过SSH连接到它,我已经设置了所有入口规则,用户等。 我在主机中放了什么:"....":JavaScript代码中的字段?(而不是本地主机(。
mysqlx
.getSession( {
user: 'user',
password: 'password',
host: 'localhost',
port: '33060',
})
由于连接设置为 SSH,我是否必须在 OCI 中执行任何其他操作,或者我可以在公有子网设置中将其设置为新的入口规则吗?
感谢您的任何帮助。
OCI 中的答案是使用容纳 MYSQL DB 的实例的主机名和提供程序,然后在 OCI 中使用以下方式设置 MYSQL 路由器:
步骤 1 - 安装和配置 MySQL 路由器 假设您的 OCI 计算运行的是 Enterprise Linux Enterprise Linux Server 版本 7。
-
通过 SSH 连接到将安装 MySQL 路由器的 OCI 计算
-
安装 MySQL 路由器。跑:
须藤百胜 -y 安装 https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo yum -y install mysql-router
-
配置附加到文件/etc/mysqlrouter/mysqlrouter.conf 的 MySQL 路由器。例如,假设 MDS 专用 IP 为 10.0.0.6,请运行:
sudo tee -a/etc/mysqlrouter/mysqlrouter.conf>/dev/null <<EOF [路线:redirect_classic] bind_address = 本地主机:3306 目标 = 10.0.0.6:3306 routing_strategy=第一个可用
[路线:redirect_xprotocol] bind_address = 本地主机:33060 目标 = 10.0.0.6:33060 协议 = x routing_strategy=第一个可用 EOF学位
-
启动MySQL路由器并检查服务是否处于活动状态(正在运行(。跑:
$ sudo systemctl start mysqlrouter.service $ sudo systemctl status mysqlrouter.service
-
计算实例重启时自动启动 MySQL 路由器 $ sudo systemctl enable mysqlrouter.service
-
添加防火墙规则。跑:
$ sudo firewall-cmd --permanent --add-port=3306/tcp $ sudo firewall-cmd --permanent --add-port=33060/tcp $ sudo firewall-cmd --reload
感谢Airton Latori的协助。
我不熟悉 OCI 的细节,但最终应该有一个 MySQL 实例(或路由器(的主机名或 IP 地址,您可以在某个地方连接到。而且,假设端点"使用"X 协议,这就是您应该为host
配置属性提供的内容。
免责声明:我是MySQL X DevAPI Connector for Node的首席开发人员.js