通过Mongo Shell连接DDS实例
本章节介绍从购买到使用内网通过Mongo Shell连接集群实例并对文档数据库进行读写数据的操作步骤。
步骤1:购买集群实例
- 进入自定义购买文档数据库DDS页面。
- 在“购买数据库实例”页面,选择计费模式,填写并选择实例相关信息后,单击“立即购买”。
图1 基础配置
图2 管理员设置
图3 网络设置及购买时长
图4 高级配置
- 在“规格确认”页面,核对实例信息。
- 包年/包月
- 如果需要修改,单击“上一步”,修改实例信息。
- 核对无误后,勾选华为云服务等级协议,单击“去支付”,进入“付款”页面,选择支付方式,完成支付。
- 按需计费
- 如果需要修改,单击“上一步”,修改实例信息。
- 核对无误后,勾选华为云服务等级协议,单击“提交”,开始创建实例。
- 包年/包月
- 单击“返回实例列表”。实例创建成功后,用户可以在“实例管理”页面,查看并管理自己的数据库实例。
- 创建实例过程中,实例运行状态显示为“创建中”,此过程约15分钟。创建完成的实例的运行状态显示为“正常”。
- 对于批量购买的“包年/包月”实例,除实例名称和实例ID外,其余配置信息一致。
步骤2:购买ECS
- 进入购买弹性云服务器页面。
- 配置基础信息后,单击“下一步:网络配置”。ECS与待连接的DDS实例的区域及可用区一致。
图5 基础配置
图6 选择镜像
- 配置网络信息后,单击“下一步:高级配置”。ECS与待连接的DDS实例的VPC和安全组一致。
图7 网络配置
图8 选择弹性公网IP
- 配置密码等信息后,单击“下一步:确认配置”。
图9 高级配置
- 确认配置信息后,单击“立即购买”。
图10 确认配置
- 查看购买成功的ECS。
步骤3:设置安全组规则
- 登录管理控制台。
- 单击管理控制台左上方的,选择区域和项目。
- 在页面左上角单击,选择 ,进入文档数据库服务信息页面。
- 在“实例管理”页面,选择指定的目标实例,单击实例名称,进入“基本信息”页面。
- 在
处,单击安全组名称,进入安全组页面。图11 安全组
您也可以在左侧导航栏,单击“连接管理”,在 处,单击安全组名称,进入安全组页面。
图12 安全组
- 在安全组页面,单击操作列“配置规则”,进入安全组详情页面。
- 在入方向规则页签下,单击“添加规则”,弹出添加入方向规则窗口。
- 根据界面提示配置安全组规则。
图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个字符,且不能包含“<”和“>”。
-
- 单击“确定”。
步骤4:通过Mongo Shell连接DDS集群实例
- SSL连接:
- 登录管理控制台。
- 单击管理控制台左上方的,选择区域和项目。
- 在页面左上角单击,选择 ,进入文档数据库服务信息页面。
- 在“实例管理”页面,单击实例名称。
- 在左侧导航树,单击“连接管理”。
- 在“基本信息”区域的“SSL”处,单击,下载根证书。
- 上传根证书至需要连接实例的弹性云服务器。
根据客户端使用的计算机系统类型,选择相应的上传方法。
- Linux操作系统下,可参考如下命令:
- Windows操作系统下,请使用远程连接工具上传根证书。
- 在客户端工具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节点的内网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
- 内网高可用连接地址:您可以在实例管理页面,单击目标实例名称,进入基本信息页面。单击“内网高可用连接地址”处即可获取到当前实例的连接地址。
- 检查连接结果。出现如下信息,说明连接成功。
mongos>
- 非SSL连接:
- 连接弹性云服务器。
- 在客户端工具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节点的内网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
- DB_HOST:待连接集群实例的dds mongos节点IP地址。
- 检查连接结果。出现如下信息,说明连接成功。
mongos>