2.3 连接副本集实例
2.3.2 通过内网连接副本集实例
当应用部署在弹性云服务器上,且该弹性云服务器与数据库实例处于同一区域、同一 VPC内时,建议使用内网方式通过弹性云服务器连接数据库实例。
本章节详细介绍使用MongoDB客户端通过内网方式连接GaussDB(for Mongo)副本集 实例的过程。
2. 在弹性云服务器上,安装MongoDB客户端。
安装MongoDB客户端,请参见如何安装MongoDB客户端。
步骤2 在服务列表中选择“数据库 > 云数据库 GaussDB(for Mongo)”。
GaussDB(for Mongo) 2 快速入门
图2-6 登录云数据库 GaussDB(for Mongo)控制台
步骤3 在“实例管理”页面,单击实例名称。
步骤4 在左侧导航树,单击“连接管理”。
步骤5 在“基本信息”区域的“SSL”处,单击 ,下载根证书。
步骤6 上传根证书至需要连接实例的弹性云服务器。
根据客户端使用的计算机系统类型,选择相应的上传方法。
● Linux操作系统下,可参考如下命令:
scp<IDENTITY_FILE><REMOTE_USER>@<REMOTE_ADDRESS>:<REMOTE_DIR>
说明
– IDENTITY_FILE为存储根证书的文件目录,该文件目录权限为600。
– REMOTE_USER为弹性云服务器云主机的操作系统用户。
– REMOTE_ADDRESS为弹性云服务器云主机的主机地址。
– REMOTE_DIR为将根证书上传到弹性云服务器云主机的文件目录。
● Windows操作系统下,请使用远程连接工具上传根证书。
步骤7 连接数据库实例。
● 方式一:使用连接地址连接副本集实例(推荐)
GaussDB(for Mongo)控制台界面提供了连接地址,默认包含主节点、备节点、隐 藏节点的IP和端口。通过该方式连接实例,可同时访问副本集实例的主、备和隐 藏节点,避免在发生主备节点切换后,从客户端写入数据报错的情况。
命令格式:
./mongo "<连接地址>" --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames
GaussDB(for Mongo) 2 快速入门
表2-10 参数说明
– “replicaSet=replica”中的“replica”是副本集的名 称。华为云GaussDB(for Mongo)副本集统一固定为 该名称且不可改变。
<FILE_PATH> 存放根证书的路径。
示例:
./mongo "mongodb://rwuser:****@192.168.0.252:8635,192.168.0.31: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
出现如下提示时,输入数据库帐号对应的密码:
Enter password:
GaussDB(for Mongo) 2 快速入门
表2-11 参数说明
参数 说明
<DB_HOST> 待连接实例主节点或备节点的内网IP。
主节点:即Primary节点,连接该节点后可执行数据的读写 操作。
备节点:即Secondary节点,连接该节点后仅可执行数据的 读操作。
您可以在实例管理页面,单击目标实例名称,进入基本信息 页面。在“连接管理 > ”页签下获取对应节点的内网IP。
图2-8 获取节点 IP
您也可以单击实例名称,在“基本信息 > 节点信息”处获 取对应节点的内网IP。
图2-9 获取内网 IP
<DB_PORT> 数据库端口。
<DB_USER> 数据库帐号,默认为rwuser。
<FILE_PATH> 存放根证书的路径。
示例:
./mongo host 192.168.0.31 port 8635 -u rwuser -p authenticationDatabase admin ssl sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
返回如下信息,表示已成功连接对应的节点:
– 针对副本集主节点的连接结果:
replica:PRIMARY>
– 针对副本集备节点的连接结果:
GaussDB(for Mongo) 2 快速入门
replica:SECONDARY>
----结束
非 SSL 连接
须知
使用非SSL方式连接,请务必关闭SSL连接,否则会报错。关于如何关闭SSL连接,请参 见设置SSL数据加密。
步骤1 连接弹性云服务器。
步骤2 在客户端工具mongo所在的目录下,连接数据库实例。
● 使用连接地址连接副本集实例(推荐)
GaussDB(for Mongo)控制台界面提供了连接地址,默认包含主节点、备节点、隐 藏节点的IP和端口。通过该方式连接实例,可同时访问副本集实例的主、备和隐 藏节点,避免在发生主备节点切换后,从客户端写入数据报错的情况。
命令格式:
./mongo "<连接地址>"
GaussDB(for Mongo) 2 快速入门
表2-12 参数说明 参数名称 说明
<连接地址> 您可以通过如下方式获取连接地址:
单击实例名称,进入基本信息页面,在页面下方“网络信息 >
连接地址”处获取当前实例的连接地址。
图2-10 基本信息页面获取连接地址
或者您也可以单击实例名称,进入基本信息页面,单击左侧导航 栏中的“连接管理”,在连接管理页面获取当前实例的连接地 址。
图2-11 连接管理页面获取连接地址
– 其中,*****需要替换为数据库帐号对应的密码。
如果密码中包含特殊字符“@”、“!”和“%”需要分别替 换为对应的十六进制的URL编码(ASSCII码)“%40”、
“%21”和“%25”。
例如:密码为****@%***!,对应的URL编码为****%40%25***
%21。
– “replicaSet=replica”中的“replica”是副本集的名称。华 为云GaussDB(for Mongo)副本集统一固定为该名称且不可改 变。
示例如下:
./mongo "mongodb://
rwuser:****@192.168.0.196:8635,192.168.0.67:8635,192.168.0.32:8635/test?
authSource=admin&replicaSet=replica"
出现如下信息,说明连接成功。
replica:PRIMARY>
● 连接单个节点
您也可以通过连接指定节点的内网IP,访问单个节点。
GaussDB(for Mongo) 2 快速入门
命令格式:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin
表2-13 参数说明
参数 说明
<DB_HOST> 待连接实例主节点或备节点的内网IP。
– 主节点:即Primary节点,连接该节点后可执行数据的读 写操作。
– 备节点:即Secondary节点,连接该节点后仅可执行数据 的读操作。
您可以在实例管理页面,单击目标实例名称,进入基本信息 页面。在页面下方节点信息列表中获取对应节点的内网IP。
图2-12 基本信息页面获取内网 IP
或者您也可以单击实例名称,进入基本信息页面,单击左侧 导航栏中的“连接管理”,在连接管理页面获取对应节点的 内网IP。
图2-13 连接管理页面获取内网 IP
<DB_PORT> 数据库端口。
<DB_USER> 数据库帐号,默认为rwuser。
出现如下提示时,输入数据库帐号对应的密码:
Enter password:
示例:
./mongo host 192.168.1.6 port 8635 -u rwuser -p --authenticationDatabase admin
GaussDB(for Mongo) 2 快速入门
返回如下信息,表示对应的节点已经连接成功: IP,使用Robo 3T工具以公网的方式连接文档数据库实例。
本章节介绍使用Robo 3T工具,通过公网方式连接副本集实例的过程。
操作系统使用场景:本地使用的计算机系统以Windows为例。
通过Robo 3T工具连接实例的方式有SSL连接和非SSL连接两种,其中SSL连接通过了加 密功能,具有更高的安全性。为了提升数据在网络传输过程中的安全性,建议采用SSL 方式。
前提条件
1. 副本集实例需要绑定弹性公网IP并设置安全组规则,请分别参见绑定弹性公网IP 和设置安全组规则,确保可以通过Robo 3T工具访问弹性公网IP。
2. 安装Robo 3T工具。
安装方法请参见如何安装Robo 3T工具。
SSL 方式
GaussDB(for Mongo) 2 快速入门