• 沒有找到結果。

通过 Mongo Shell 连接副本集实例(内网连接)

3.2 连接副本集实例

3.2.3 内网连接副本集实例

3.2.3.2 通过 Mongo Shell 连接副本集实例(内网连接)

Mongo Shell是MongoDB自带的Shell客户端,您可以使用Mongo Shell连接数据库实 例、对数据库进行数据查询和更新、执行管理等操作。 Mongo Shell是MongoDB客户 端的一部分,您需要先下载和安装MongoDB客户端,再使用Mongo Shell连接数据库 实例。

DDS实例默认提供内网IP地址,当应用部署在弹性云服务器上,且该弹性云服务器与 文档数据库实例处于同一区域,同一VPC时,可以使用内网连接文档数据库实例,该 方式可以获得更快的传输速率和更高的安全性。

本章节以部署在弹性云服务器上的应用场景为例,介绍如何使用Mongo Shell通过内网 的方式连接副本集实例。

2. 在弹性云服务器上,安装MongoDB客户端。为了保障鉴权成功,请安装与目标实 例版本一致的MongoDB客户端版本。

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

● Linux操作系统下,可参考如下命令:

scp<IDENTITY_FILE><REMOTE_USER>@<REMOTE_ADDRESS>:<REMOTE_DIR>

说明

– IDENTITY_FILE为存储根证书的文件目录,该文件目录权限为600。

– REMOTE_USER为弹性云服务器的操作系统用户。

– REMOTE_ADDRESS为弹性云服务器的主机地址。

– REMOTE_DIR为将根证书上传到弹性云服务器的文件目录。

● Windows操作系统下,请使用远程连接工具上传根证书。

步骤8 连接数据库实例。

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

DDS管理控制台界面提供了高可用连接地址。通过该地址连接副本集实例,不仅提升 了数据读写性能,而且避免了在发生主备节点切换后,从客户端写入数据报错的问 题。

命令格式:

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

相关参数说明如下:

● 内网高可用连接地址

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

3-14 获取内网高可用地址

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

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

authSource=admin&replicaSet=replica 您需要关注内网高可用地址中的如下参数:

3-12 参数说明

参数名称 说明

rwuser 帐号名,即数据库帐号。

<password> 数据库帐号对应的密码,需要替换为真实密码。

如果密码中包含特殊字符“@”、“!”和“%”

8635,192.168.xx.xx:8635 待连接副本集实例的节点IP地址及端口号。

test 表示测试库名。

authSource=admin&repli

caSet=replica – 高可用链接地址中的认证数据库必须为

“admin”,即“authSource=admin”且不可 改变。

– “replicaSet=replica”中的“replica”是副本 集的名称。华为云DDS的副本集统一固定为该 名称且不可改变。

● FILE_PATH:存放根证书的路径。

● --sslAllowInvalidHostnames:为了保证副本集内部通讯不占用用户IP地址和带宽 等资源,副本集证书使用内部管理IP地址生成。通过内网SSL连接副本集实例时,

需要添加“--sslAllowInvalidHostnames”。

连接命令示例:

./mongo "mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:

8635/test?authSource=admin&replicaSet=replica" --ssl --sslCAFile/tmp/ca.crt --sslAllowInvalidHostnames

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

相关参数说明如下:

● DB_HOST:待连接实例主节点或备节点的内网IP地址。

主节点:即Primary节点,连接该节点后可执行数据的读写操作。

备节点:即Secondary节点,连接该节点后仅可执行数据的读操作。

您可以在实例管理页面,单击目标实例名称,进入基本信息页面。在“连接管理

> 内网连接”页签下获取对应节点的IP地址。

3-15 获取节点 IP 地址

● DB_PORT:数据库端口,默认为8635。

您可以单击目标实例名称,进入基本信息页面。在左侧导航树中单击连接管理,

在内网连接页签,在“基本信息 > 数据库端口”处获取实际端口号。

3-16 获取端口

● DB_USER:数据库帐号,默认为rwuser。

● FILE_PATH:存放根证书的路径。

● --sslAllowInvalidHostnames:为了保证副本集内部通讯不占用用户IP地址和带宽 等资源,副本集证书使用内部管理IP地址生成。通过内网SSL连接副本集实例时,

需要添加“--sslAllowInvalidHostnames”。

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

Enter password:

连接命令示例:

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

返回如下信息,表示已成功连接对应的节点:

● 针对副本集主节点的连接结果:

replica:PRIMARY>

● 针对副本集备节点的连接结果:

replica:SECONDARY>

----结束

SSL 连接

须知

使用非SSL方式连接实例时,请务必关闭SSL连接,否则会报错。关于如何关闭SSL连 接,请参见开启和关闭SSL连接。

步骤1 登录弹性云服务器。

步骤2 连接文档数据库实例。

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

DDS管理控制台界面提供了高可用连接地址。通过该地址连接副本集实例,不仅提升 了数据读写性能,而且避免了在发生主备节点切换后,从客户端写入数据报错的问 题。

命令格式:

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

相关参数说明如下:

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

3-17 获取内网高可用地址

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

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

authSource=admin&replicaSet=replica 您需要关注内网高可用地址中的如下参数:

3-13 参数说明

参数名称 说明

rwuser 帐号名,即数据库帐号。

<password> 数据库帐号对应的密码,需要替换为真实密码。

如果密码中包含特殊字符“@”、“!”和“%”需要

8635,192.168.xx.xx:8635 待连接副本集实例的节点IP地址及端口号。

test 表示测试库名。

authSource=admin&replica

Set=replica ● 高可用链接地址中的认证数据库必须为

“admin”,即“authSource=admin”且不可改 变。

● “replicaSet=replica”中的“replica”是副本集的 名称。华为云DDS的副本集统一固定为该名称且不 可改变。

连接命令示例:

./mongo "mongodb://rwuser:<password>@192.168.xx.xx:8635,192.168.xx.xx:

8635/test?authSource=admin&replicaSet=replica"

返回如下信息,表示实例已连接成功:

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

相关参数说明如下:

● DB_HOST:待连接实例主节点或备节点的内网IP地址。

主节点:即Primary节点,连接该节点后可执行数据的读写操作。

备节点:即Secondary节点,连接该节点后仅可执行数据的读操作。

您可以在实例管理页面,单击目标实例名称,进入基本信息页面。在“连接管理

> 内网连接”页签下获取对应节点的IP地址。

3-18 获取节点 IP 地址

● DB_PORT:数据库端口,默认为8635。

您可以单击目标实例名称,进入基本信息页面。在左侧导航树中单击连接管理,

在内网连接页签,在“基本信息 > 数据库端口”处获取实际端口号。

3-19 获取端口

● DB_USER:数据库帐号,默认为rwuser。

连接命令示例:

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

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

Enter password:

返回如下信息,表示对应的节点已经连接成功:

● 针对副本集主节点的连接结果:

Mongo Shell是MongoDB自带的Shell客户端,您可以使用Mongo Shell连接数据库实 例、对数据库进行数据查询和更新、执行管理等操作。 Mongo Shell是MongoDB客户 端的一部分,您需要先下载和安装MongoDB客户端,再使用Mongo Shell连接数据库 实例。

DDS实例默认提供内网IP地址,当应用部署在弹性云服务器上,且该弹性云服务器与 文档数据库实例处于同一区域,同一VPC时,可以使用内网连接文档数据库实例,该 方式可以获得更快的传输速率和更高的安全性。

本章节以部署在弹性云服务器上的应用场景为例,介绍如何使用Mongo Shell通过内网 的方式连接副本集实例只读节点。

2. 在弹性云服务器上,安装MongoDB客户端。为了保障鉴权成功,请安装与目标实 例版本一致的MongoDB客户端版本。