使用MongoDB資料庫內建的備份還原工具,您可以將Azure Cosmos DB API for MongoDB遷移至阿里雲。
注意事項
-
該操作為全量遷移,為避免遷移前後資料不一致,遷移開始前請停止資料庫寫入。
-
如果您之前使用
mongodump命令對資料庫進行過備份操作,請將備份在dump檔案夾下的檔案移動至其他目錄。確保預設的dump備份檔案夾為空白,否則將會覆蓋該檔案夾下之前備份的檔案。 -
請在安裝有MongoDB服務的伺服器上執行
mongodump和mongorestore命令,並非在mongo shell環境下執行。
資料庫帳號許可權要求
|
執行個體類型 |
帳號許可權 |
|
Azure Cosmos DB |
read |
|
目的MongoDB執行個體 |
readWrite |
環境準備
遷移步驟
-
登入Azure門戶。
-
在左側導覽列單擊Azure Cosmos DB。
-
在Azure Cosmos DB頁面,單擊需要遷移的Cosmos DB 賬戶名稱。
-
在賬戶詳情頁,單擊Connection String。
-
單擊Read-only Keys頁簽,查看串連該資料庫所需的資訊。
圖 1. Azure串連資訊頁面顯示串連該資料庫所需的欄位,包括 HOST(格式為
xxx.documents.azure.cn)、PORT(值為10255)、USERNAME、PRIMARY PASSWORD、SECONDARY PASSWORD、PRIMARY CONNECTION STRING、SECONDARY CONNECTION STRING 以及 SSL(值為true)。其中 HOST、USERNAME 和 PRIMARY PASSWORD 是需要重點關注的串連資訊。說明遷移資料時使用唯讀許可權的帳號密碼資訊即可。
-
在安裝有MongoDB服務的Linux伺服器上執行以下命令進行資料備份,將資料備份至該伺服器上。
mongodump --host <HOST>:10255 --authenticationDatabase admin -u <USERNAME> -p <PRIMARY PASSWORD> --ssl --sslAllowInvalidCertificates說明將
<HOST>、<USERNAME>和<PRIMARY PASSWORD>更換為Azure串連資訊中對應選項的值。等待備份完成,Azure Cosmos DB的資料庫將備份至目前的目錄下dump檔案夾中。
-
擷取阿里雲MongoDB資料庫的Primary節點串連地址,詳情請參見執行個體串連說明。
-
在安裝有MongoDB服務的Linux伺服器上執行以下語句將資料庫資料全部匯入至阿里雲MongoDB資料庫。
mongorestore --host <mongodb_host>:3717 --authenticationDatabase admin -u <username> -p <password> dump說明-
<mongodb_host>:MongoDB執行個體的Primary節點串連地址。
-
<username>:登入MongoDB執行個體的資料庫使用者名稱。
-
<password>:登入MongoDB執行個體的資料庫密碼。
-
等待資料恢複完成,Azure Cosmos DB API for MongoDB資料庫即遷移至阿里雲MongoDB資料庫中。