0

所以我在 OCI 上创建了一个 MYSQL DB 并可以通过 SSH 连接到它,我已经设置了所有入口规则、用户等。我在主机中输入了什么:“....”:字段javascript代码?(而不是本地主机)。

mysqlx
    .getSession( {

        user: 'user', 
        password: 'password',
        host: 'localhost', 
        port: '33060', 
    })

由于连接设置为 SSH,我是否必须在 OCI 中执行其他任何操作,或者我可以在公共子网设置中将其设置为新的入口规则吗?

谢谢你的帮助。

4

2 回答 2

1

OCI 中的答案是使用包含 MYSQL DB 的实例的主机名和提供程序,然后在 OCI 中设置您的 MYSQL 路由器,如下所示:

第 1 步 - 安装和配置 MySQL 路由器 假设您的 OCI Compute 正在运行 Enterprise Linux Enterprise Linux Server 版本 7。

  1. SSH 进入将安装 MySQL 路由器的 OCI 计算

  2. 安装 MySQL 路由器。跑:

    sudo yum -y install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm sudo yum -y install mysql-router

  3. 配置附加到文件 /etc/mysqlrouter/mysqlrouter.conf 的 MySQL 路由器。例如,假设 MDS 私有 IP 为 10.0.0.6,运行:

    sudo tee -a /etc/mysqlrouter/mysqlrouter.conf > /dev/null << EOF [routing:redirect_classic] bind_address = localhost:3306 destinations = 10.0.0.6:3306 routing_strategy=first-available

    [routing:redirect_xprotocol] bind_address = localhost:33060 目的地 = 10.0.0.6:33060 协议 = x routing_strategy=first-available EOF

  4. 启动 MySQL Router 并检查服务是否处于活动状态(正在运行)。跑:

    $ sudo systemctl start mysqlrouter.service $ sudo systemctl status mysqlrouter.service

  5. Compute 实例重启时自动启动 MySQL Router $ sudo systemctl enable mysqlrouter.service

  6. 添加防火墙规则。跑:

    $ sudo firewall-cmd --permanent --add-port=3306/tcp $ sudo firewall-cmd --permanent --add-port=33060/tcp $ sudo firewall-cmd --reload

感谢 Airton Latori 的协助。

于 2020-12-24T18:45:40.583 回答
0

我不熟悉 OCI 细节,但最终应该有一个可以连接到的 MySQL 实例(或路由器)的主机名或 IP 地址。而且,假设端点“说” X 协议,这就是您应该为host配置属性提供的内容。

免责声明:我是 MySQL X DevAPI Connector for Node.js 的主要开发人员

于 2020-06-15T10:51:47.317 回答