全部產品
Search
文件中心

ApsaraDB for MongoDB:Azure Cosmos DB API for MongoDB遷移至阿里雲

更新時間:Jun 19, 2024

使用MongoDB資料庫內建的備份還原工具,您可以將Azure Cosmos DB API for MongoDB遷移至阿里雲。

注意事項

  • 該操作為全量遷移,為避免遷移前後資料不一致,遷移開始前請停止資料庫寫入。

  • 如果您之前使用mongodump命令對資料庫進行過備份操作,請將備份在dump檔案夾下的檔案移動至其他目錄。確保預設的dump備份檔案夾為空白,否則將會覆蓋該檔案夾下之前備份的檔案。

  • 請在安裝有MongoDB服務的伺服器上執行mongodumpmongorestore命令,並非在mongo shell環境下執行。

資料庫帳號許可權要求

執行個體類型

帳號許可權

Azure Cosmos DB

read

目的MongoDB執行個體

readWrite

環境準備

  1. 建立ApsaraDB for MongoDB執行個體,詳情請參見建立執行個體

    說明
    • 執行個體的儲存空間要大於Azure Cosmos DB。

    • 執行個體的資料庫版本選用4.0及以上版本。

  2. 設定阿里雲MongoDB資料庫的資料庫密碼,詳情請參見設定密碼

  3. 在某個伺服器上安裝MongoDB程式,詳情請參見安裝MongoDB

    說明
    • 請安裝MongoDB 3.0以上版本。

    • 該伺服器僅作為資料備份與恢複的臨時中轉平台,遷移操作完成後不再需要。

    • 備份目錄所在分區的可用磁碟空間要大於Azure Cosmos DB。

    本案例將MongoDB服務安裝在Linux伺服器上進行示範。

遷移步驟

  1. 登入Azure門戶。

  2. 在左側導覽列單擊Azure Cosmos DB

  3. Azure Cosmos DB頁面,單擊需要遷移的Cosmos DB 賬戶名稱。

  4. 在賬戶詳情頁,單擊Connection String

  5. 單擊Read-only Keys頁簽,查看串連該資料庫所需的資訊。

    圖 1. Azure串連資訊Azure串連資訊

    說明

    遷移資料時使用唯讀許可權的帳號密碼資訊即可。

  6. 在安裝有MongoDB服務的Linux伺服器上執行以下命令進行資料備份,將資料備份至該伺服器上。

    mongodump --host <HOST>:10255 --authenticationDatabase admin -u <USERNAME> -p <PRIMARY PASSWORD> --ssl --sslAllowInvalidCertificates
    說明

    <HOST><USERNAME><PRIMARY PASSWORD>更換為Azure串連資訊中對應選項的值。

    等待備份完成,Azure Cosmos DB的資料庫將備份至目前的目錄下dump檔案夾中。

  7. 擷取阿里雲MongoDB資料庫的Primary節點串連地址,詳情請參見執行個體串連說明

  8. 在安裝有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資料庫中。