云数据库MongoDB副本集实例分别提供了主从节点和只读节点的单独连接地址,以及用于应用程序连接的高可用ConnectionStringURI和ReadOnly ConnectionstringURI地址。本文介绍副本集实例连接地址的获取方式及连接说明。

获取数据库连接地址

  1. 登录MongoDB管理控制台
  2. 在左侧导航栏,单击副本集实例列表
  3. 在页面左上角,选择实例所在的资源组和地域。
  4. 单击目标实例ID或目标实例所在行操作列的管理
  5. 在目标实例页面的左侧导航栏,单击数据库连接

连接地址说明

项目 说明
地址类型
  • 私网连接
    • 专有网络:专有网络是一种隔离的网络环境,安全性和性能均高于传统的经典网络。 云数据库MongoDB实例默认提供专有网络连接地址,通过专有网络连接云数据库MongoDB实例可以获取更高的安全性和性能。
    • 经典网络:云服务在网络上不进行隔离,仅依靠云服务自身的安全组或白名单策略阻挡非法访问。
  • 公网连接:由于通过公网连接实例存在一定的安全风险,云数据库MongoDB实例默认未提供公网连接地址。如果您需要通过公网连接云数据库MongoDB实例,可以手动申请公网连接地址,申请方法请参见(可选)申请公网连接地址
角色
  • Primary:主节点,连接主节点地址可以执行数据库的读写操作。当主节点出现故障时,会发生主备切换,您需要连接新的主节点确保读写操作不受影响。
  • Secondary:从节点,连接从节点地址仅能执行数据库的读操作。
  • Readonly:只读节点,连接只读节点地址仅能执行数据库的读操作。
    说明 只有实例中已存在只读节点时,您才可以看到只读节点的地址。
  • ReadOnly ConnectionStringURI:实例的高可用地址,实现负载均衡及高可用,连接高可用地址可以执行数据库的读写操作。在具有多个只读节点的情况下,建议应用程序通过该地址连接实例。
    说明
    • 只有实例中已存在只读节点时,您才可以看到ReadOnly ConnectionStringURI地址。
    • 通过ReadOnly ConnectionStringURI地址连接实例,会优先将读请求发送到只读节点。
    • 当实例中的某个只读节点出现故障时,读请求会自动切换到下一个只读节点(ReadOnly),不会影响应用的读操作。如果所有的只读节点都出现了故障,读请求会切换到从节点(Secondary)。
  • ConnectionStringURI:实例的高可用地址,实现负载均衡及高可用,连接高可用地址可以执行数据库的读写操作。生产环境的应用程序建议通过该地址连接实例。
    说明 通过ConnectionStringURI地址连接实例,可以确保连接的节点始终为主节点(Primary),不会因为主备切换而影响应用的读写操作。
Primary、Secondary和Readonly节点地址 格式:
<host>:<port>
参数说明:
  • <host>:主节点(Primary)、从节点(Secondary)或只读节点(ReadOnly )节点的域名信息
  • <port>:主节点(Primary)、从节点(Secondary)或只读节点(ReadOnly )的端口
示例:
dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717
ReadOnly ConnectionstringURI地址 格式:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>?readPreference=secondary&readPreferenceTags=<readonly_Tags>&replicaSet=<replicaSet_value>
参数说明:
  • <username>:数据库账号的名称,默认为root。
  • <password>:数据库账号的密码。
  • <host>:只读节点(ReadOnly)的域名信息
  • <port>:只读节点(ReadOnly)的端口
  • <database>:数据库账号所属的数据库名称,默认为admin。

    如果您需要使用其他数据库,请在连接地址末尾添加&authSource=admin

  • readPreference=secondary:实现读写分离和负载均衡,该参数可以将写请求发送到主节点(Primary),读请求随机发送到从节点(Secondary)和只读节点(ReadOnly)。
  • readPreferenceTags=<readonly_Tags><readonly_Tags>为只读节点(ReadOnly)的标签键值对列表,不允许修改。该参数可以将读请求优先发送到标签对应的只读节点(ReadOnly)。
    说明 readPreferenceTags参数的详细信息,请参见Connection String URI Format
  • replicaSet=<replicaSet_value><replicaSet_value>为实例高可用连接地址的唯一标识ID。该参数可以将读请求发送到副本集实例的所有节点。
示例:
mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?readPreference=secondary&readPreferenceTags=role:readonly&replicaSet=mgset-6108****
ConnectionstringURI地址 格式:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>?replicaSet=<replicaSet_value>
参数说明:
  • <username>:数据库账号的名称,默认为root。
  • <password>:数据库账号的密码。
  • <host>:主节点(Primary)、从节点(Secondary)和只读节点(ReadOnly )的域名信息
  • <port>:主节点(Primary)、从节点(Secondary)和只读节点(ReadOnly )的端口
  • <database>:数据库账号所属的数据库名称,默认为admin。

    如果您需要使用其他数据库,请在连接地址末尾添加&authSource=admin

  • replicaSet=<replicaSet_value><replicaSet_value>为实例高可用连接地址的唯一标识ID。该参数可以将读请求发送到副本集实例的所有节点。
示例:
mongodb://root:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-61081718-bp1366caac83d****.mongodb.rds.aliyuncs.com:3717,dds-bp1366caac83d****.mongodb.rds.aliyuncs.com:3717,dds-bp1366caac83d****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-4581****

登录MongoDB数据库

  1. 获取如下信息:
    • 数据库连接地址,获取方法请参见数据库连接地址
    • 数据库账号,初始账号为root。
      说明 不建议在生产环境中直接使用root账号连接数据库。您可以创建用户并分配权限,详情请参见使用DMS管理MongoDB实例的账号
    • 数据库账号对应密码。如果没有设置或忘记密码,您可以设置或修改密码,具体方法请参见(可选)重置密码
    • 数据库账号所属的数据库。当数据库账号为root时,对应的数据库为admin。
  2. 登录数据库。您可以选择以下任意一种方法登录:

常见的连接场景

相关问题