更新时间:2024-09-05 GMT+08:00
分享

通过Mongo Shell连接DDS实例

本章节介绍从购买到使用内网通过Mongo Shell连接集群实例并对文档数据库进行读写数据的操作步骤。

步骤1:购买集群实例

  1. 进入自定义购买文档数据库DDS页面
  2. 在“购买数据库实例”页面,选择计费模式,填写并选择实例相关信息后,单击“立即购买”。
    图1 基础配置
    图2 管理员设置
    图3 网络设置及购买时长
    图4 高级配置
  3. 在“规格确认”页面,核对实例信息。
    • 包年/包月
      • 如果需要修改,单击“上一步”,修改实例信息。
      • 核对无误后,单击“去支付”,进入“付款”页面,选择支付方式,完成支付。
    • 按需计费
      • 如果需要修改,单击“上一步”,修改实例信息。
      • 核对无误后,单击“提交”,开始创建实例。
  4. 单击“返回实例列表”。实例创建成功后,用户可以在“实例管理”页面,查看并管理自己的数据库实例。
    • 创建实例过程中,实例运行状态显示为“创建中”,此过程约15分钟。创建完成的实例的运行状态显示为“正常”。
    • 对于批量购买的“包年/包月”实例,除实例名称和实例ID外,其余配置信息一致。

步骤2:购买ECS

  1. 进入购买弹性云服务器页面
  2. 配置基础信息后,单击“下一步:网络配置”。ECS与待连接的DDS实例的区域及可用区一致。
    图5 基础配置
    图6 选择镜像
  3. 配置网络信息后,单击“下一步:高级配置”。ECS与待连接的DDS实例的VPC和安全组一致。
    图7 网络配置
    图8 选择弹性公网IP
  4. 配置密码等信息后,单击“下一步:确认配置”。
    图9 高级配置
  5. 确认配置信息后,单击“立即购买”。
    图10 确认配置
  6. 查看购买成功的ECS。

步骤3:设置安全组规则

  1. 登录管理控制台
  2. 单击管理控制台左上方的,选择区域和项目。
  3. 在页面左上角单击,选择数据库 > 文档数据库服务 DDS,进入文档数据库服务信息页面。
  4. “实例管理”页面,选择指定的目标实例,单击实例名称,进入“基本信息”页面。
  5. 基本信息 > 网络信息 > 安全组处,单击安全组名称,进入安全组页面。

    图11 安全组

    您也可以在左侧导航栏,单击“连接管理”,在内网连接 > 安全组处,单击安全组名称,进入安全组页面。

    图12 安全组

  6. 在安全组页面,单击操作列“配置规则”,进入安全组详情页面。
  7. 在入方向规则页签下,单击“添加规则”,弹出添加入方向规则窗口。
  8. 根据界面提示配置安全组规则。

    图13 添加入方向规则
    表1 入方向参数说明

    参数

    说明

    示例

    优先级

    安全组规则优先级。

    优先级可选范围为1-100,默认值为1,即最高优先级。优先级数字越小,规则优先级级别越高。

    1

    策略

    安全组规则策略。

    优先级相同的情况下,拒绝策略优先于允许策略。

    允许

    协议端口

    网络协议。目前支持“TCP”、“UDP”、“ICMP”和“GRE”等协议。

    TCP

    端口:允许远端地址访问文档数据库服务指定端口。默认为8635,多个端口或者一定范围的多个端口可填写为:2100~9500,27017,27018,27019。

    8635

    类型

    IP地址类型。目前支持IPv4和IPv6。

    IPv4

    源地址

    可以是IP地址、安全组、IP地址组。用于放通来自IP地址或另一安全组内的实例的访问。例如:
    • 单个IP地址:192.168.10.10/32
    • IP地址段:192.168.1.0/24
    • 所有IP地址:0.0.0.0/0
    • 安全组:sg-abc
    • IP地址组:ipGroup-test

    若源地址为安全组,则选定安全组内的云服务器都遵从当前所创建的规则。

    更多IP地址组信息,请参见IP地址组

    0.0.0.0/0

    描述

    安全组规则的描述信息,非必填项。

    描述信息内容不能超过255个字符,且不能包含“<”和“>”。

    -

  9. 单击“确定”。

步骤4:通过Mongo Shell连接DDS集群实例

  • SSL连接:
  1. 登录管理控制台
  2. 单击管理控制台左上方的,选择区域和项目。
  3. 在页面左上角单击,选择数据库 > 文档数据库服务 DDS,进入文档数据库服务信息页面。
  4. “实例管理”页面,单击实例名称。
  5. 在左侧导航树,单击“连接管理”
  6. “基本信息”区域的“SSL”处,单击,下载根证书。
  7. 上传根证书至需要连接实例的弹性云服务器

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

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

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

    方式一:内网高可用连接(推荐)

    DDS管理控制台界面提供了内网高可用连接地址,同时包含了集群实例下的所有dds mongos节点IP地址和端口信息,通过该地址连接集群实例,可以提升集群实例的高可用性能。

    命令格式:

    ./mongo <内网高可用连接地址> --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames

    相关参数说明如下:

    • 内网高可用连接地址:您可以在实例管理页面,单击目标实例名称,进入基本信息页面。单击连接管理 > 内网连接,在“内网高可用连接地址”处即可获取到当前实例的连接地址。
      图14 获取内网高可用地址

      获取到的内网高可用地址格式如下,该连接地址采用固定的账号和数据库进行认证,即账号名rwuser及认证数据库admin不可修改。

      mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin

      您需要关注内网高可用地址中的如下参数信息:

      表2 参数信息

      参数名称

      说明

      rwuser

      表示数据库账号名。

      <password>

      表示数据库账号对应的密码,需要替换为真实密码。

      如果密码中包含特殊字符“@”、“!”、“$”和“%”需要分别替换为对应的十六进制的URL编码(ASCII码)“%40”、“%21”、“%24”和“%25”。

      示例:密码为****@%***!$,对应的URL编码为****%40%25***%21%24。

      192.168.***.***:8635,192.168.***.***:8635

      待连接集群实例的dds mongos节点IP地址及端口号。

      test

      表示测试库名,可根据实际情况设置。

      authSource=admin

      rwuser账号认证数据库必须为“admin”,即“authSource=admin”为固定格式不可改变。

    • FILE_PATH:存放根证书的路径。
    • --sslAllowInvalidHostnames:为了保证集群内部通讯不占用用户IP地址和带宽等资源,集群证书使用内部管理IP地址生成。通过内网SSL连接集群实例时,需要添加“--sslAllowInvalidHostnames”。

    连接命令示例:

    ./mongo mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames

    方式二:内网高可用连接(用户自定义数据库及账号)

    命令格式:

    ./mongo <内网高可用连接地址> --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames

    相关参数说明如下:

    • 内网高可用连接地址:您可以在实例管理页面,单击目标实例名称,进入基本信息页面。单击连接管理 > 内网连接,在“内网高可用连接地址”处即可获取到当前实例的连接地址。
      图15 获取内网高可用地址

      获取到的内网高可用地址格式如下:

      mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin

      您需要关注内网高可用地址中的如下参数信息:

      表3 参数信息

      参数名称

      说明

      rwuser

      数据库账号名,默认为“rwuser”。可根据实际情况修改为用户创建的账号名。

      <password>

      表示数据库账号对应的密码,需要替换为真实密码。

      如果密码中包含特殊字符“@”、“!”、“$”和“%”需要分别替换为对应的十六进制的URL编码(ASCII码)“%40”、“%21”、“%24”和“%25”。

      示例:密码为****@%***!$,对应的URL编码为****%40%25***%21%24。

      192.168.***.***:8635,192.168.***.***:8635

      待连接集群实例的dds mongos节点IP地址及端口号。

      test

      表示测试库名,可根据实际情况设置。

      authSource=admin

      rwuser账号认证数据库为“admin”。

      说明:

      若用户使用自定义创建的数据库进行认证,则需将高可用连接地址中认证数据库改为当前创建的数据库名称。且须将该表格的第一行参数“数据库账号名”修改为当前数据库下创建的账号名。

    • FILE_PATH:存放根证书的路径。
    • --sslAllowInvalidHostnames:为了保证集群内部通讯不占用用户IP地址和带宽等资源,集群证书使用内部管理IP地址生成。通过内网SSL连接集群实例时,需要添加“--sslAllowInvalidHostnames”。

    例如用户自定义创建数据库Database并在该数据库下创建账号test1,则连接命令示例为:

    ./mongo mongodb://test1:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/Database?authSource=Database --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames

    方式三:使用内网IP地址连接

    命令格式:

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

    相关参数说明如下:

    • DB_HOST:待连接集群实例的dds mongos节点IP地址。

      您可以单击实例名称,进入基本信息页面,选择连接管理 > 内网连接,在节点信息 > dds mongos页签下获取dds mongos节点的内网IP地址即可。

      图16 获取内网IP地址

    • DB_PORT:待连接实例的端口,默认端口为8635。

      您可以单击实例名称,进入基本信息页面,选择连接管理 > 内网连接页签,在基本信息 > 数据库端口处获取当前端口信息。

      图17 获取端口
    • DB_USER:账号名,即数据库账号,默认为rwuser。
    • FILE_PATH:存放根证书的路径。
    • --sslAllowInvalidHostnames:为了保证集群内部通讯不占用用户IP地址和带宽等资源,集群证书使用内部管理IP地址生成。通过内网SSL连接集群实例时,需要添加“--sslAllowInvalidHostnames”。

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

    Enter password:

    连接命令示例:

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

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

    mongos>

  • 非SSL连接:
  1. 连接弹性云服务器
  2. 在客户端工具mongo所在的目录下,连接数据库实例

    方式一:内网高可用连接(推荐)

    命令格式:

    ./mongo <内网高可用连接地址>

    内网高可用连接地址:您可以在实例管理页面,单击目标实例名称,进入基本信息页面。单击连接管理 > 内网连接,在“内网高可用连接地址”处即可获取到当前实例的连接地址。

    图18 获取内网高可用地址

    获取到的内网高可用地址格式如下,该连接地址采用固定的账号和数据库进行认证,即账号名rwuser及认证数据库admin不可修改。

    mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin

    您需要关注内网高可用地址中的如下参数信息:

    表4 参数信息

    参数名称

    说明

    rwuser

    表示数据库账号名。

    <password>

    表示数据库账号对应的密码,需要替换为真实密码。

    如果密码中包含特殊字符“@”、“!”、“$”和“%”需要分别替换为对应的十六进制的URL编码(ASCII码)“%40”、“%21”、“%24”和“%25”。

    示例:密码为****@%***!$,对应的URL编码为****%40%25***%21%24。

    192.168.xx.xx:8635,192.168.xx.xx:8635

    待连接集群实例的dds mongos节点IP地址及端口号。

    test

    表示测试库名,可根据实际情况设置。

    authSource=admin

    rwuser账号认证数据库必须为“admin”,即“authSource=admin”为固定格式不可改变。

    连接命令示例:

    ./mongo mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin

    方式二:内网高可用连接(用户自定义数据库及账号)

    命令格式:

    ./mongo <内网高可用连接地址>

    内网高可用连接地址:您可以在实例管理页面,单击目标实例名称,进入基本信息页面。单击连接管理 > 内网连接,在“内网高可用连接地址”处即可获取到当前实例的连接地址。

    图19 获取内网高可用地址

    获取到的内网高可用地址格式如下:

    mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/test?authSource=admin

    您需要关注内网高可用地址中的如下参数信息:

    表5 参数信息

    参数名称

    说明

    rwuser

    数据库账号名,默认为“rwuser”。可根据实际情况修改为用户创建的账号名。

    <password>

    表示数据库账号对应的密码,需要替换为真实密码。

    如果密码中包含特殊字符“@”、“!”、“$”和“%”需要分别替换为对应的十六进制的URL编码(ASCII码)“%40”、“%21”、“%24”和“%25”。

    示例:密码为****@%***!$,对应的URL编码为****%40%25***%21%24。

    192.168.xx.xx:8635,192.168.xx.xx:8635

    待连接集群实例的dds mongos节点IP地址及端口号。

    test

    表示测试库名,可根据实际情况设置。

    authSource=admin

    rwuser账号认证数据库为“admin”。

    说明:

    若用户使用自定义创建的数据库进行认证,则需将高可用连接地址中认证数据库改为当前创建的数据库名称。且须将该表格的第一行参数“数据库账号名”修改为当前数据库下创建的账号名。

    例如用户自定义创建数据库Database并在该数据库下创建账号test1,则连接命令示例为:

    ./mongo mongodb://test1:<password>@192.168.xx.xx:8635,192.168.xx.xx:8635/Database?authSource=Database

    方式三:内网IP地址连接

    命令格式:

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

    相关参数说明如下:

    • DB_HOST:待连接集群实例的dds mongos节点IP地址。

      您可以单击实例名称,进入基本信息页面,选择连接管理 > 内网连接,在节点信息 > dds mongos页签下获取dds mongos节点的内网IP地址即可。

      图20 获取内网IP地址
    • DB_PORT:待连接实例的端口,默认端口为8635。

      您可以单击实例名称,进入基本信息页面,选择连接管理 > 内网连接页签,在基本信息 > 数据库端口处获取当前端口信息。

      图21 获取端口
    • DB_USER:账号名,即数据库账号,默认为rwuser。
    出现如下提示时,输入数据库账号对应的密码:
    Enter password:

    连接命令示例:

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

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

    mongos>

步骤5:创建数据库并写入数据

  1. 创建数据库。

    use dbname

    dbname”是待创建数据库的名称。

    图22 创建数据库

  2. 创建后必须向数据库中插入数据,才能在数据库的列表中看到新创建的数据库。

    图23 插入数据
    系统自带三个数据库:admin、local、test。如果不创建新的数据库,直接插入数据,则数据默认插入到test库中。
    图24 查看数据库

  3. 查看数据库中的数据。

    图25 查看数据

相关文档