通过Mongo Shell连接MongoDB单节点实例

Mongo ShellMongoDB自带的数据库管理工具,您可以将Mongo Shell工具下载并安装至客户端(本地服务器或ECS服务器),用于连接云数据库MongoDB单节点实例。本文介绍通过Mongo Shell连接云数据库MongoDB单节点实例的方法。

前提条件

已创建云数据库MongoDB单节点实例。

背景信息

云数据库MongoDB单节点实例提供的默认数据库admin,用于管理默认数据库账号root的信息,建议使用admin之外的数据库实现业务需求(即不对admin库进行任何操作)。

准备工作

  • 下载并安装与云数据库MongoDB实例数据库版本相同的Mongo Shell工具至客户端(本地服务器或云服务器ECS实例),下载链接和安装方法,请参见MongoDB Shell DownloadThe mongo Shell

    如果应用部署在ECS实例,您需要确保云数据库MongoDB实例和ECS实例满足以下条件,以保证网络的连通性。ECS实例信息的查看方法请参见查看实例信息

    • 所在地域相同,并建议所在可用区相同(以减少网络延时)。
    • 网络类型为专有网络,需确保使用相同的专有网络ID。
      说明 如果ECS实例的网络类型为经典网络,您可以将ECS实例网络类型转换为专有网络,具体请参见ECS实例从经典网络迁移到专有网络
  • 将客户端IP地址添加至云数据库MongoDB实例的白名单中,添加方法请参见设置白名单

    说明

    如果您需要使用公网地址连接云数据库MongoDB实例,您可以手动申请公网地址,申请方法请参见(可选)申请公网连接地址

操作步骤

  1. 登录MongoDB管理控制台

  2. 在左侧导航栏,单击副本集实例列表

  3. 在页面左上角,选择实例所在的资源组和地域。

  4. 单击目标实例ID或目标实例所在行操作列的管理

  5. 在目标实例页面的左侧导航栏,单击数据库连接

  6. 查看并获取云数据库MongoDB单节点实例的连接地址。

    获取连接地址

    项目

    说明

    地址类型

    • 私网连接:专有网络是一种隔离的网络环境,安全性和性能均高于传统的经典网络。 云数据库MongoDB实例默认提供专有网络连接地址,通过专有网络连接云数据库MongoDB单节点实例可以获取更高的安全性和性能。

    • 公网连接:由于通过公网连接实例存在一定的安全风险,云数据库MongoDB实例默认未提供公网连接地址。如果您要使用公网地址连接云数据库MongoDB实例,您可以手动申请公网连接地址,申请方法请参见(可选)申请公网连接地址

    Primary

    格式:

    <host>:<port>

    参数说明:

    • <host>:节点的域名信息

    • <port>:节点的端口

    示例:

    dds-bp1ea17b41abecf43****.mongodb.rds.aliyuncs.com:3717

    ConnectionStringURI

    格式:

    mongodb://<username>:<password>@<host>:<port>/<database>[?&authSource=<authenticationDatabase>]

    参数说明:

    • <username>:数据库账号的名称,默认为root。

    • <password>:数据库账号的密码。

    • <host>:节点的域名信息

    • <port>:节点的端口

    • <database>:要访问的数据库名称,默认为admin。

    • authSource=<authenticationDatabase>(可选):该参数用于指定数据库账号所属的数据库。<authenticationDatabase>为鉴权数据库名称。如果不配置该参数,<database>会作为鉴权数据库。

      重要

      数据库账号必须在所属的数据库下进行鉴权,才能鉴权成功。

    示例:

    数据库账号为test,所属数据库为admin。

    mongodb://test:****@dds-bp1ea17b41abecf43****.mongodb.rds.aliyuncs.com:3717/admin
  7. 执行如下命令,在安装有MongoDB的客户端(本地服务器或ECS服务器)上连接云数据库MongoDB单节点实例。

    mongo --host <host> --port <port> -u <username> -p --authenticationDatabase <authenticationDatabase>

    参数说明:

    • <host>:节点的域名信息

    • <port>:节点的端口

    • <username>:数据库账号的名称,默认为root。

    • <authenticationDatabase>:鉴权数据库名称,用于指定数据库账号所属的数据库。当数据库账号为root时,对应的数据库为admin。如果您希望指定其他数据库,请先在该数据库中使用db.createUser()命令创建账号,然后再使用该账号进行连接。

      重要

      数据库账号必须在所属的数据库下进行鉴权,才能鉴权成功。

    示例:

    数据库账号为test,所属数据库为admin。

    mongo --host dds-bp1ea17b41abecf43****.mongodb.rds.aliyuncs.com --port 3717 -u test -p --authenticationDatabase admin
  8. 回显如下信息,输入数据库账号对应的密码并按Enter。

    Enter password:<password>

    参数说明:<password>为单节点实例数据库账号的密码。输入密码时,密码不可见。

    回显如下类似信息,说明连接成功。

    说明

    使用不同版本的Mongo Shell连接实例后回显信息不同,请以实际情况为准。

    connecting to: mongodb://dds-bp1ea17b41abecf43****.mongodb.rds.aliyuncs.com:3717/
    MongoDB server version: 3.4.6
    Welcome to the MongoDB shell.
说明

实例连接成功后,建议您使用admin之外的数据库实现业务需求。

常见的连接场景

相关问题