文档首页 > > 快速入门> 集群> 步骤三:连接集群实例> 通过客户端连接实例

通过客户端连接实例

分享
更新时间: 2019/08/13 GMT+08:00

操作场景

通过数据库客户端连接实例的方式有普通连接和SSL连接两种,其中SSL连接通过了加密功能,具有更高的安全性。为了提升数据在网络传输过程中的安全性,建议采用SSL方式。

根据实际使用场景,您可以选择是否通过弹性公网IP访问实例,具体请参见操作场景

本章节以Linux操作系统为例,指导您连接集群实例。

使用限制

连接实例的使用限制请参见使用限制

前提条件

  1. 登录弹性云服务器或可访问文档数据库的设备。
    • 通过弹性云服务器连接文档数据库实例,需要创建并登录弹性云服务器,请参见如何创建和连接弹性云服务器
    • 通过弹性公网IP直接连接文档数据库实例,需要具备以下条件。
      1. 为实例中的节点绑定公网地址,如何绑定公网地址,请参见绑定弹性IP
      2. 保证本地设备可以访问文档数据库绑定的公网地址。
  2. 在弹性云服务器或可访问文档数据库的设备上,安装MongoDB客户端。

    安装MongoDB客户端,请参见如何安装MongoDB客户端

    说明:

    若通过界面连接信息连接集群实例,请下载3.6.0版本的MongoDB客户端。

SSL连接

  1. “实例管理”页面,单击实例名称。
  2. 在左侧导航树,单击“连接管理”
  3. “基本信息”区域的“SSL”处,单击,下载根证书。
  4. 上传根证书至需要连接实例的弹性云服务器,或保存到可访问文档数据库的设备。

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

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

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

    • 方式一:通过Linux命令连接实例

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

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

      Enter password:
    • 方式二:通过界面连接信息连接实例(请根据实际情况,填写多组内网IP和端口号)

      ./mongo mongodb://rwuser:****@<DB_HOST>:<DB_PORT>,<DB_HOST>:<DB_PORT>/test?authSource=admin --ssl --sslCAFile <FILE_PATH> --sslAllowInvalidHostnames

      连接信息可在“实例管理”页的“连接地址”列获取。

      图1 连接信息

      该连接方式表示在多个mongos节点中,随机连接一个mongos节点。通过该方式连接实例时,需使用3.6.0版本的MongoDB客户端。

    说明:
    • 为了保证社区增强版集群内部通讯不占用用户IP带宽等资源,社区增强版集群证书使用内部管理IP生成。通过SSL方式连接社区增强版集群实例时,需要添加“--sslAllowInvalidHostnames”。
    • 社区版集群支持同时配置内部证书和对外证书,因此不用添加“--sslAllowInvalidHostnames”参数。
    • DB_HOST是连接的远程数据库实例IP,即实例“连接管理”页面,节点列表中的“内网IP”。如果通过连接了公网的设备访问,DB_HOST为实例“连接管理”页面,节点列表中的“弹性IP”。
    • DB_PORT是端口,即实例“连接管理”页面,“基本信息”区域的“数据库端口”。
    • DB_USER是帐号名,即数据库帐号,默认为rwuser。
    • ****是数据库帐号对应的密码。目前,通过界面连接信息连接实例时:
      • 如果密码中包含特殊字符“@”,将无法成功连接实例,需要修改管理员密码。
      • 如果密码中包含特殊字符“!”,请在“!”前添加转义符“\”。
    • FILE_PATH是存放根证书的路径。
    • 通过Linux命令连接实例,示例如下:

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

    • 通过界面连接信息连接实例,示例如下:

      ./mongo mongodb://rwuser:****@192.168.1.6:8635/test?authSource=admin --ssl --sslCAFile /tmp/ca.crt --sslAllowInvalidHostnames

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

    mongos>

普通连接

使用该方式连接,请务必关闭SSL连接,如何关闭,请参见关闭SSL连接

  1. 连接弹性云服务器或可访问文档数据库的设备。
  2. 在客户端工具mongo所在的目录下,连接数据库实例

    • 方式一:通过Linux命令连接实例

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

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

      Enter password:
    • 方式二:通过界面连接信息连接实例(请根据实际情况,填写多组内网IP和端口号)

      ./mongo mongodb://rwuser:****@<DB_HOST1>:<DB_PORT1>,<DB_HOST2>:<DB_PORT2>/test?authSource=admin

      连接信息可在“实例管理”页的“连接地址”列获取。

      该连接方式表示在多个mongos节点中,随机连接一个mongos节点。通过该方式连接实例时,需使用3.6.0版本的MongoDB客户端。

    说明:
    • DB_HOST是连接的远程数据库实例IP,即实例“连接管理”页面,节点列表中的“内网IP”。如果通过连接了公网的设备访问,DB_HOST为实例“连接管理”页面,节点列表中的“弹性IP”。
    • DB_PORT是端口,即实例“连接管理”页面,“基本信息”区域的“数据库端口”。
    • DB_USER是帐号名,即数据库帐号,默认为rwuser。
    • ****是数据库帐号对应的密码。目前,通过界面连接信息连接实例时:
      • 如果密码中包含特殊字符“@”,将无法成功连接实例,需要修改管理员密码。
      • 如果密码中包含特殊字符“!”,请在“!”前添加转义符“\”。
    • 通过Linux命令连接实例,示例如下:

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

    • 通过界面连接信息连接实例,示例如下:

      ./mongo mongodb://rwuser:****@192.168.1.6:8635/test?authSource=admin

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

    mongos>

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区