全部產品
Search
文件中心

ApsaraDB for MongoDB:本地用戶端通過公網串連MongoDB

更新時間:Mar 27, 2025

當您的本地裝置需要通過公網地址串連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了,有什麼解決辦法嗎?

相關文檔