通过MongoDB客户端连接副本集实例
不能通过内网方式访问数据库实例时,可以使用公网访问,通过弹性公网IP连接数据库实例。
本章节介绍使用MongoDB客户端,通过公网方式连接副本集实例的过程。
操作系统使用场景:弹性云服务器以Linux系统为例。
连接副本集实例的方式有SSL连接和非SSL连接两种方法,其中SSL连接通过了加密功能,具有更高的安全性。为了提升数据在网络传输过程中的安全性,建议采用SSL方式。
前提条件
- 副本集实例需要绑定弹性公网IP并设置安全组规则,请分别参见绑定弹性公网IP和设置安全组规则,确保可以通过弹性云服务器访问弹性公网IP。
- 安装MongoDB客户端。
- 创建并登录弹性云服务器,请参见购买弹性云服务器和登录弹性云服务器。
- 在弹性云服务器上,安装MongoDB客户端。
安装MongoDB客户端的方法请参见如何安装MongoDB客户端。
SSL连接
使用SSL方式连接,请务必开启SSL连接,否则会报错。关于如何开启SSL连接,请参见设置SSL数据加密。
- 登录管理控制台。
- 在服务列表中选择“数据库 > 云数据库 GeminiDB Mongo接口。
- 在“实例管理”页面,单击实例名称。
- 在左侧导航树,单击“连接管理”。
- 在“基本信息”区域的“SSL”处,单击,下载根证书。
- 上传根证书至需要连接实例的弹性云服务器云主机。
根据客户端使用的计算机系统类型,选择相应的上传方法。
- Linux操作系统下,可参考如下命令:
- Windows操作系统下,请使用远程连接工具上传根证书。
- 在客户端工具mongo所在的目录下,连接数据库实例。
命令格式:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabaseadmin --ssl --sslCAFile<FILE_PATH> --sslAllowInvalidHostnames
出现如下提示时,输入数据库账号对应的密码:
Enter password:
表1 参数说明 参数
说明
<DB_HOST>
待连接实例节点对应绑定的弹性公网IP。
主节点:即Primary节点,连接该节点后可执行数据的读写操作。
备节点:即Secondary节点,连接该节点后仅可执行数据的读操作。
您可以在实例管理页面,单击目标实例名称,进入基本信息页面。在
页签下获取对应节点的弹性公网IP。图1 获取节点公网IP
或者您也可以单击实例名称,在
区域获取对应节点的弹性公网IP。图2 查看弹性公网IP
<DB_PORT>
数据库端口。
<DB_USER>
数据库账号,默认为rwuser。
<FILE_PATH>
存放根证书的路径。
示例:
./mongo --host 192.168.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames
- 检查连接结果。出现如下信息,说明连接成功。
- 针对副本集主节点的连接结果:
replica:PRIMARY>
- 针对副本集备节点的连接结果:
replica:SECONDARY>
- 针对副本集主节点的连接结果:
非SSL连接
使用非SSL方式连接,请务必关闭SSL连接,否则会报错。关于如何关闭SSL连接,请参见设置SSL数据加密。
- 连接弹性云服务器。
- 连接GeminiDB Mongo实例。
命令格式:
./mongo --host <DB_HOST> --port <DB_PORT> -u <DB_USER> -p --authenticationDatabase admin
表2 参数说明 参数
说明
<DB_HOST>
待连接实例主节点或备节点的弹性公网IP。
- 主节点:即Primary节点,连接该节点后可执行数据的读写操作。
- 备节点:即Secondary节点,连接该节点后仅可执行数据的读操作。
您可以在实例管理页面,单击目标实例名称,进入基本信息页面。在页面下方节点信息列表中获取对应节点的弹性公网IP。
图3 查看弹性公网IP
或者您也可以单击实例名称,进入基本信息页面,单击左侧导航栏中的“连接管理”,在连接管理页面获取对应节点的弹性公网IP。
图4 获取节点公网IP
<DB_PORT>
数据库端口。
<DB_USER>
数据库账号,默认为rwuser。
出现如下提示时,输入数据库账号对应的密码:
Enter password:
示例如下:
./mongo --host 192.168.1.6 --port 8635 -u rwuser -p --authenticationDatabase admin
- 出现如下信息,说明连接成功。
- 针对副本集主节点的连接结果:
replica:PRIMARY>
- 针对副本集备节点的连接结果:
replica:SECONDARY>
- 针对副本集主节点的连接结果: