更新时间:2024-08-03 GMT+08:00

通过MongoDB客户端连接副本集实例

不能通过内网方式访问数据库实例时,可以使用公网访问,通过弹性公网IP连接数据库实例。

本章节介绍使用MongoDB客户端,通过公网方式连接副本集实例的过程。

操作系统使用场景:弹性云服务器以Linux系统为例。

连接副本集实例的方式有SSL连接和非SSL连接两种方法,其中SSL连接通过了加密功能,具有更高的安全性。为了提升数据在网络传输过程中的安全性,建议采用SSL方式。

前提条件

  1. 副本集实例需要绑定弹性公网IP并设置安全组规则,请分别参见绑定弹性公网IP设置安全组规则,确保可以通过弹性云服务器访问弹性公网IP
  2. 安装MongoDB客户端。
    1. 创建并登录弹性云服务器,请参见购买弹性云服务器登录弹性云服务器
    2. 弹性云服务器上,安装MongoDB客户端。

      安装MongoDB客户端的方法请参见如何安装MongoDB客户端

SSL连接

使用SSL方式连接,请务必开启SSL连接,否则会报错。关于如何开启SSL连接,请参见设置SSL数据加密

  1. 登录管理控制台。
  2. 在服务列表中选择“数据库 > 云数据库 GeminiDB Mongo接口。
  3. “实例管理”页面,单击实例名称。
  4. 在左侧导航树,单击“连接管理”
  5. “基本信息”区域的“SSL”处,单击,下载根证书。
  6. 上传根证书至需要连接实例的弹性云服务器云主机。

    根据客户端使用的计算机系统类型,选择相应的上传方法。

    • Linux操作系统下,可参考如下命令:
      scp<IDENTITY_FILE><REMOTE_USER>@<REMOTE_ADDRESS>:<REMOTE_DIR>
      • IDENTITY_FILE为存储根证书的文件目录,该文件目录权限为600。
      • REMOTE_USER为的操作系统用户。
      • REMOTE_ADDRESS为的主机地址。
      • REMOTE_DIR为将根证书上传到的文件目录。
    • Windows操作系统下,请使用远程连接工具上传根证书。

  7. 在客户端工具mongo所在的目录下,连接数据库实例。

    命令格式:

    ./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabaseadmin --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames

    出现如下提示时,输入数据库账号对应的密码:

    Enter password:
    表1 参数说明

    参数

    说明

    <DB_HOST>

    待连接实例节点对应绑定的弹性公网IP。

    主节点:即Primary节点,连接该节点后可执行数据的读写操作。

    备节点:即Secondary节点,连接该节点后仅可执行数据的读操作。

    您可以在实例管理页面,单击目标实例名称,进入基本信息页面。在连接管理页签下获取对应节点的弹性公网IP。

    图1 获取节点公网IP

    或者您也可以单击实例名称,在基本信息 > 节点信息区域获取对应节点的弹性公网IP。

    图2 查看弹性公网IP

    <DB_PORT>

    数据库端口。

    <DB_USER>

    数据库账号,默认为rwuser。

    <FILE_PATH>

    存放根证书的路径。

    示例:

    ./mongo --host 192.168.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames

  8. 检查连接结果。出现如下信息,说明连接成功。

    • 针对副本集主节点的连接结果:
      replica:PRIMARY>
    • 针对副本集备节点的连接结果:
      replica:SECONDARY>

非SSL连接

使用非SSL方式连接,请务必关闭SSL连接,否则会报错。关于如何关闭SSL连接,请参见设置SSL数据加密

  1. 连接弹性云服务器
  2. 连接GeminiDB Mongo实例

    命令格式:

    ./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin

    表2 参数说明

    参数

    说明

    <DB_HOST>

    待连接实例主节点或备节点的弹性公网IP。

    • 主节点:即Primary节点,连接该节点后可执行数据的读写操作。
    • 备节点:即Secondary节点,连接该节点后仅可执行数据的读操作。

    您可以在实例管理页面,单击目标实例名称,进入基本信息页面。在页面下方节点信息列表中获取对应节点的弹性公网IP。

    图3 查看弹性公网IP

    或者您也可以单击实例名称,进入基本信息页面,单击左侧导航栏中的“连接管理”,在连接管理页面获取对应节点的弹性公网IP。

    图4 获取节点公网IP

    <DB_PORT>

    数据库端口。

    <DB_USER>

    数据库账号,默认为rwuser。

    出现如下提示时,输入数据库账号对应的密码:

    Enter password:

    示例如下:

    ./mongo --host 192.168.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin

  3. 出现如下信息,说明连接成功。

    • 针对副本集主节点的连接结果:
      replica:PRIMARY>
    • 针对副本集备节点的连接结果:
      replica:SECONDARY>