本地客户端通过公网连接MongoDB

更新时间:2025-03-26 10:01:10
重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

当您的本地设备需要通过公网地址连接MongoDB实例时,您可以使用本文中的方法快速实现连接。

前提条件

步骤一:申请并查看公网连接地址

  1. 访问MongoDB副本集实例列表MongoDB分片集群实例列表,在上方选择资源组和地域,然后单击目标实例ID。

  2. 在目标实例页面的左侧导航栏,单击数据库连接

  3. 公网连接区域,单击申请公网地址

  4. 申请公网地址对话框中,单击确定

  5. 待实例状态由正在创建网络连接恢复至运行中,即可查看MongoDB公网地址。

    说明
    • 实例处于正在创建网络连接状态时,对实例运行无影响。

    • 连接地址仅设置白名单后可见。

    • 推荐使用ConnectionStringURI高可用连接地址。

步骤二:连接MongoDB

以下内容以Mongo Shell工具为例,展示如何连接MongoDB。

在本地客户端执行以下命令即可连接MongoDB。

ConnectionStringURI高可用地址【推荐】
单节点连接地址

命令如下:

mongo "<ConnectionStringURI高可用地址>"

参数说明:

参数

说明

<ConnectionStringURI高可用地址>

MongoDB控制台上获取ConnectionStringURI高可用地址。

说明

不建议直接使用root账号连接数据库。您可以通过DMS新建数据库账号后再连接数据库。

使用时,请将root:****替换为新建的账号密码,例如test:PassWord**/admin替换为鉴权数据库,例如/testdb

示例如下:

mongo "mongodb://test:PassWord**@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/testdb?replicaSet=mgset-6108****"    

命令如下:

mongo --host <host> --port <port> -u <username> -p --authenticationDatabase <authenticationDatabase>

参数说明:

参数

说明

<host><port>

MongoDB控制台上获取的节点的连接地址域名

例如dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717

<username>

数据库账号的名称。

说明

不建议直接使用root账号连接数据库。您可以通过DMS新建数据库账号后再连接数据库。

<authenticationDatabase>

鉴权数据库名称,用于指定数据库账号所属的数据库。

重要

数据库账号必须在所属的数据库下进行鉴权,才能鉴权成功。

示例如下:

数据库账号为test,鉴权数据库为testdb。

mongo --host dds-bp19f409d7512****.mongodb.rds.aliyuncs.com --port 3717 -u test -p --authenticationDatabase testdb

在命令行提示Enter password:时,输入数据库账号的密码并按回车键确认。

常见问题

为什么已经将本地设备的公网IP添加至白名单了,但仍然无法连接MongoDB?

可能是您获取到的公网IP地址不正确导致无法连接MongoDB,您可以通过如下步骤定位您本地设备的公网IP:

  1. IP地址0.0.0.0/0添加到MongoDB实例的白名单

    警告

    0.0.0.0/0表示允许任何设备访问MongoDB实例,有安全风险,请谨慎使用。如果使用,应当及时从白名单中删除。

  2. 通过Mongo Shell登录MongoDB实例

    如果白名单设置为0.0.0.0/0后依旧无法连接MongoDB,可以尝试通过DMS连接MongoDB,检查账号密码以及鉴权数据库是否正确。

  3. 执行以下命令查询Mongo Shell登录的客户端信息。

    db.currentOp({"appName" : "MongoDB Shell","active" : true})

    示例如下:客户端IP查询

    说明

    如果通过其他方式登录MongoDB实例,您可通过下述命令查询所有客户端信息。

    db.runCommand({currentOp: 1, "active" : true})
  4. 将获取到的IP地址加入至MongoDB实例白名单中,并将IP地址0.0.0.0/0删除。

本地设备的公网IP不固定,发生变动后就无法连接MongoDB了,有什么解决办法吗?

相关文档

  • 本页导读 (1)
  • 前提条件
  • 步骤一:申请并查看公网连接地址
  • 步骤二:连接MongoDB
  • 常见问题
  • 相关文档
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等