MongoDB分區叢集執行個體分別提供Mongos、Shard和ConfigServer組件單獨的串連地址,以及適用於應用程式串連的高可用ConnectionStringURI地址。本文介紹分區叢集執行個體串連地址的擷取方式和串連說明。
擷取資料庫連接地址
訪問MongoDB分區叢集執行個體列表,在上方選擇資源群組和地區,然後單擊目標執行個體ID。
在目標執行個體頁面的左側導覽列,單擊資料庫連接。擷取目標節點的串連地址。
串連地址說明
串連地址網路類型
網路類型 | 說明 |
私網 |
|
公網 | 由於通過公網串連執行個體存在一定的安全風險,ApsaraDB for MongoDB執行個體預設未提供公網串連地址。如果您需要公網串連可手動申請,申請方法請參見(可選)申請公網串連地址。 |
串連地址類型
地址類型 | 說明 |
Mongos地址 | Mongos組件的串連地址,包括主節點(Primary)的串連地址。 說明 日常測試時,僅需串連Mongos組件的任意節點。 |
Shard地址 | Shard組件的串連地址,包括主節點(Primary)、從節點(Secondary)和唯讀節點(ReadOnly)的串連地址。 說明
|
ConfigServer地址 | ConfigServer組件的串連地址,包括主節點(Primary)和從節點(Secondary)的串連地址。 說明
|
ConnectionstringURI地址 | ApsaraDB for MongoDB提供了Mongos組件和Shard組件的ConnectionStringURI地址。 推薦生產環境的應用程式通過ConnectionStringURI串連資料庫,用戶端自動將請求發送到Mongos組件的多個節點上,實現負載平衡。Mongos組件的某個節點出現故障時,用戶端能自動進行故障切換,將請求發送到狀態正常的Mongos節點上。 說明 預設情況下,控制台僅會展示Mongos的ConnectionStringURI地址,Shard的ConnectionStringURI地址需要先申請對應節點的串連地址,如何申請,請參見申請Shard串連地址。 |
ConnectionstringURI SRV地址 | SRV地址可以簡化叢集的維護和管理,您無需因為增刪Mongos節點而修改串連地址,用戶端可以無感知地與叢集互動,簡化了應用程式的設計和維護。 推薦生產環境的應用程式通過ConnectionStringURI串連資料庫,用戶端自動將請求發送到Mongos組件的多個節點上,實現負載平衡。Mongos組件的某個節點出現故障時,用戶端能自動進行故障切換,將請求發送到狀態正常的Mongos節點上。 重要
|
各串連地址的格式、參數說明以及樣本如下:
Mongos地址
格式:
<host>:<port>
參數說明:
參數 | 說明 |
| Mongos組件中節點的網域名稱資訊。 |
| Mongos組件中節點的連接埠。 |
樣本:
s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717
Shard地址
格式:
<host>:<port>
參數說明:
參數 | 說明 |
| Shard組件中節點的網域名稱資訊。 |
| Shard組件中節點的連接埠。 |
樣本:
s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717
ConfigServer地址
格式:
<host>:<port>
參數說明:
參數 | 說明 |
| ConfigServer組件中節點的網域名稱資訊。 |
| ConfigServer組件中節點的連接埠。 |
樣本:
s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717
ConnectionstringURI地址
Mongos組件和Shard組件的ConnectionStringURI地址的說明分別如下:
Mongos
推薦生產環境的應用程式通過ConnectionStringURI串連資料庫,用戶端自動將請求發送到Mongos組件的多個節點上,實現負載平衡。Mongos組件的某個節點出現故障時,用戶端能自動進行故障切換,將請求發送到狀態正常的Mongos節點上。
格式:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>[?&authSource=<authenticationDatabase>]
參數 | 說明 |
| 資料庫帳號的名稱,預設為root。 |
| 資料庫帳號的密碼。 |
| Mongos組件中節點的網域名稱資訊。 |
| Mongos組件中節點的連接埠。 |
| 要訪問的資料庫名稱,預設為admin。 |
| 該參數用於指定資料庫帳號所屬的資料庫。 |
樣本:
資料庫帳號為test,所屬資料庫為admin。
mongodb://test:****@s-bp1c010266f6****.mongodb.rds.aliyuncs.com:3717,s-bp1773180e38****.mongodb.rds.aliyuncs.com:3717/admin
Shard
Shard組件的ConnectionStringURI地址為高可用地址,實現負載平衡及高可用,串連該地址可以執行資料庫的讀寫操作。該地址包含Shard組件中所有節點的地址,建議生產環境的應用程式通過該地址串連執行個體。
生產環境的應用程式建議通過ConnectionStringURI地址串連執行個體,可以確保串連的節點始終為主節點,不會因為主備切換而影響應用的讀寫操作。
格式:
mongodb://<username>:<password>@<host1>:<port1>,<host2>:<port2>,...,<hostN>:<portN>/<database>?replicaSet=<replicaSet_value>[&authSource=<authenticationDatabase>]
參數說明:
參數 | 說明 |
| 資料庫帳號的名稱,預設為root。 |
| 資料庫帳號的密碼。 |
| 主節點、從節點和唯讀節點的網域名稱資訊。 |
| 主節點、從節點和唯讀節點的連接埠。 |
| 要訪問的資料庫名稱,預設為admin。 |
| 該參數可以將讀請求發送到複本集執行個體的所有節點。 |
| 該參數用於指定資料庫帳號所屬的資料庫。 |
| 該參數可以實現讀寫分離和負載平衡,能夠將寫請求發送到主節點,將讀請求發送到參數指定節點,取值說明如下:
說明 當讀請求發送到從節點和唯讀節點時,可能會出現負載不均的情況,如果需要進一步指定節點,請設定參數readPreferenceTags。 |
| 該參數可以將讀請求優先發送到標籤對應的節點。通常與參數readPreference一起使用,與
|
MongoDB執行個體可以靈活使用readPreference
和readPreferenceTags
參數,通過不同標籤的組合,實現不同的情境需求:
讀請求主節點響應策略 | 讀請求發送的節點 | 參數組合方案 |
讀請求失敗情況下,讀請求發送到主節點 | 優先讀主節點 |
|
優先讀從節點和唯讀節點 |
| |
優先讀從節點 說明 如果從節點故障,讀請求發送到主節點。 |
| |
優先讀唯讀節點 說明 如果唯讀節點故障,讀請求發送到主節點。 |
| |
讀請求失敗情況下,讀請求不發送到主節點 | 僅讀從節點和唯讀節點 |
|
僅讀從節點 說明 如果從節點故障,讀取操作失敗。 |
| |
僅讀唯讀節點 說明 如果唯讀節點故障,讀取操作失敗。 |
|
樣本:
mongodb://test:****@dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717,dds-bp19f409d7512****.mongodb.rds.aliyuncs.com:3717/admin?replicaSet=mgset-6108****
ConnectionstringURI SRV地址
格式:
mongodb+srv://<username>:<password>@<srv-host>/<database>?<options>
參數說明:
參數 | 說明 |
| 連接字串的首碼,表示使用DNS SRV記錄進行服務發現。 |
| 資料庫帳號的名稱,預設為root。 |
| 資料庫帳號的密碼。 |
| 主機名稱。 |
| 要訪問的資料庫名稱,預設為admin。 |
| 其他選擇性參數。 說明 SVR串連的SSL選項預設值為true,如果您不需要使用SSL加密串連,需要在串連串上添加參數 |
樣本:
資料庫帳號為test,所屬資料庫為admin。
mongodb+srv://test:****@dds-2zef4c23****-srv.mongodb.pre.nosql.aliyuncs.com/admin?ssl=false
登入MongoDB資料庫
擷取如下資訊:
資料庫連接地址,擷取方法請參見資料庫連接地址。
資料庫帳號,初始帳號為root。
重要不建議在生產環境中直接使用root帳號串連資料庫。您可以根據業務需求建立使用者並分配許可權,詳情請參見使用DMS管理MongoDB資料庫使用者。
資料庫帳號對應密碼。如果沒有設定或忘記密碼,您可以設定或修改密碼,具體方法請參見重設密碼。
要訪問的資料庫。當資料庫帳號為root時,對應的資料庫為admin。
登入資料庫。您可以選擇以下任意一種方法登入: