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

前提条件

已创建云数据库MongoDB Serverless实例。

注意事项

云数据库MongoDB Serverless实例提供的默认数据库admin,用于管理admin数据库账号(即创建云数据库MongoDB Serverless实例生成的账号)的信息,不支持进行任何操作。您在使用云数据库MongoDB Serverless实例时,需要先创建admin之外的数据库,然后对该数据库进行操作。

准备工作

  • 下载并安装与云数据库MongoDB实例数据库版本相同的MongoDB至客户端,安装方法请参见Install MongoDB
    如果MongoDB安装在云服务器ECS实例,您需要确保云数据库MongoDB实例和ECS服务器满足以下条件,以保证网络的连通性。
    • 所在地域相同。如果您已经创建了ECS服务器,您可以查看ECS所在地域,查看方法请参见查看ECS实例所在地域
    • 可选:建议所属可用区相同,以减少网络延时。如果您已经创建了ECS服务器,您可以查看ECS服务器所在可用区,查看方法请参见查看ECS实例所在地域
    • 网络类型为专有网络。如果您已经创建了ECS服务器,您可以查看ECS服务器的网络类型,查看方法请参见查看ECS实例网络类型,当ECS服务器的网络类型为经典网络时,您可以将经典网络迁移至专有网络,迁移方法请参见ECS实例从经典网络迁移到专有网络
  • 将客户端IP地址添加至云数据库MongoDB实例的白名单中,添加方法请参见设置白名单
    说明 如果您需要使用公网地址连接云数据库MongoDB实例,您可以手动申请公网地址,申请方法请参见申请公网连接地址

操作步骤

  1. 登录MongoDB管理控制台
  2. 在页面左上角,选择实例所在的资源组和地域。
  3. 在左侧导航栏,单击Serverless实例列表
  4. 找到目标实例,单击实例ID。
  5. 在左侧导航栏,单击数据库连接
  6. 查看并获取云数据库MongoDB Serverless实例的连接地址。
    私网连接地址
    项目 说明
    地址类型
    • 私网连接:专有网络是一种隔离的网络环境,安全性和性能均高于传统的经典网络。 云数据库MongoDB实例默认提供专有网络连接地址,通过专有网络连接云数据库MongoDB Serverless实例可以获取更高的安全性和性能。
    • 公网连接:由于通过公网连接实例存在一定的安全风险,云数据库MongoDB实例默认未提供公网连接地址。如果您要使用公网地址连接云数据库MongoDB实例,您可以手动申请公网连接地址,申请方法请参见申请公网连接地址
    ConnectionDomain
    格式:
    <host>:<port>
    说明
    • <host>:云数据库MongoDB Serverless实例的地址。
    • <port>:云数据库MongoDB Serverless实例的端口号。
    示例:
    dds-bp1mjur6cuu****.mongodb.rds.aliyuncs.com:3717
    ConnectionStringURI
    格式:
    mongodb://<username>:<password>@<host>:<port>/<database>
    说明
    • mongodb://:前缀,代表这是一个ConnectionStringURI连接地址。
    • <username>:云数据库MongoDB Serverless实例的账号名。
    • <password>:云数据库MongoDB Serverless实例账号名对应的密码。
    • <host>:云数据库MongoDB Serverless实例的地址。
    • <port>:云数据库MongoDB Serverless实例的端口号。
    • <database>:云数据库MongoDB Serverless实例的鉴权数据库名,即数据库账号所属的数据库。默认为admin。如果您需要使用其他数据库,您可以先在该数据库中创建账号,然后使用该账户。创建账号的方法请参见db.createUser()
    示例:
    mongodb://user5495****:****@dds-bp1mjur6cuum****.mongodb.rds.aliyuncs.com:3717/admin
  7. 执行如下命令,在安装有MongoDB的客户端(本地服务器或ECS实例)上连接云数据库MongoDB Serverless实例。
    mongo --host <host>:<port> -u <username> -p --authenticationDatabase <database>
    说明
    • <host>:云数据库MongoDB Serverless实例的地址。
    • <port>:云数据库MongoDB Serverless实例的端口号。
    • <username>:云数据库MongoDB Serverless实例的账号名。
    • <database>:云数据库MongoDB Serverless实例的鉴权数据库名,即数据库账号所属的数据库。默认为admin。如果您需要使用其他数据库,您可以先在该数据库中创建账号,然后使用该账户。创建账号的方法请参见db.createUser()

    示例:

    mongo --host dds-bp1mjur6cuum****.mongodb.rds.aliyuncs.com:3717 -u user5495**** -p --authenticationDatabase admin
  8. 回显如下信息,输入数据库账号对应的密码并按Enter。
    Enter password:<password>
    说明
    • <password>:云数据库MongoDB Serverless实例账号名对应的密码。输入密码时,密码不可见。
    • 如果忘记数据库账号对应的密码,您可以重新设置密码,设置方法请参见(可选)重置密码
    回显如下类似信息,说明连接成功。
    说明 使用不同版本MongoDB中的Mongo Shell连接实例后回显信息不同,请以实际情况为准。
    connecting to: mongodb://dds-bp1mjur6cuum****.mongodb.rds.aliyuncs.com:3717/?compressors=disabled&gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("26c55fd4-5215-4e8a-b07e-2647146c****") }
    MongoDB server version: 4.2.10
  9. 创建admin之外数据库实现业务需求。

其他连接场景

常见问题