全部產品
Search
文件中心

ApsaraDB for MongoDB:使用MongoDB工具將MongoDB Atlas遷移至阿里雲

更新時間:May 22, 2026

Mongodump和Mongorestore是MongoDB資料庫內建的備份恢複工具。您可以在本地裝置或ECS執行個體中安裝Mongodump和Mongorestore(也可以安裝MongoDB資料庫)工具,然後使用這些工具將MongoDB Atlas資料庫遷移至ApsaraDB for MongoDB。

說明 本文以本地裝置為例介紹操作流程。

注意事項

  • 確保安裝的Mongodump和Mongorestore軟體版本與MongoDB Atlas資料庫的版本一致。安裝步驟請參見官方文檔Install MongoDB
  • MongoDB執行個體支援的版本與儲存引擎請參見版本及儲存引擎,如需跨版本或跨引擎遷移,請提前確認相容性。
  • 通過MongoDB工具遷移MongoDBAtlas資料庫為全量資料移轉。為保障資料一致性,遷移操作開始前請停止源庫的相關業務,並停止資料寫入。
  • 執行mongodump備份命令將覆蓋dump檔案夾中的歷史備份檔案。如果您之前使用mongodump命令對源庫執行過備份操作,請將dump檔案夾中的備份檔案移動至其他目錄並確保dump檔案夾為空白。
  • 必須在安裝有MongoDB資料庫的伺服器上執行mongodump和mongorestore命令,而不是在Mongo Shell環境下執行。

資料庫帳號許可權要求

資料庫 帳號許可權
MongoDB Atlas執行個體 待遷移庫的read許可權
阿里雲MongoDB執行個體 目標庫的readWrite許可權

準備工作

阿里雲MongoDB管理主控台完成以下準備工作:

  1. 建立阿里雲MongoDB執行個體,詳情請參見棄置站台集執行個體建立分區叢集執行個體
    說明
    • 阿里雲MongoDB執行個體的儲存空間要大於MongoDB Atlas的儲存空間。
    • 如需遷移至阿里雲MongoDB分區叢集執行個體,建議對資料進行分區,詳情請參見設定資料分區
  2. 設定阿里雲MongoDB執行個體的資料庫密碼,詳情請參見重設密碼
    說明 如果您在建立執行個體時設定了資料庫密碼,可跳過本步驟。

在本地裝置上成以下準備工作:

  1. 安裝MongoDB資料庫,詳情請參見安裝MongoDB
    說明
    • 該裝置僅作為資料備份與恢複的臨時中轉平台,遷移操作完成後不再需要。
    • 備份目錄所在分區的可用磁碟空間要大於MongoDB Atlas資料庫的已用儲存空間。
  2. 將本地裝置的公網IP地址加入至阿里雲MongoDB執行個體的白名單中,詳情請參見修改白名單

操作步驟

  1. 登入MongoDB Atlas資料庫控制台。
  2. 將用於資料移轉的本地裝置的公網IP地址,加入至MongoDB Atlas執行個體的白名單中。依次單擊左側菜單 Clusters,選擇 Security 頁簽,單擊 IP Whitelist,然後單擊右上方 + ADD IP ADDRESS 按鈕。在彈出的 Add Whitelist Entry 表單中,在 Whitelist Entry 輸入框中填入本地裝置的公網 IP 位址,單擊 Confirm 完成添加。
  3. Clusters頁面,單擊 Clusters 的名稱。
  4. Command Line Tools頁簽,單擊mongodump命令後的COPY,複製包含MongoDB Atlas資料庫連接資訊的mongodump命令。
  5. 在本地裝置上,備份MongoDB Atlas資料庫。
    1. 在本地裝置上,粘貼包含MongoDB Atlas資料庫連接資訊的mongodump命令。
    2. 將<PASSWORD>替換為所使用的資料庫帳號密碼,將<DATABASE>替換為要備份的資料庫名稱。
    3. 執行該命令,等待資料備份完畢。
  6. 登入阿里雲MongoDB控制台,擷取阿里雲MongoDB執行個體的公網串連地址。
    說明 公網串連地址需要手動申請,詳情請參見申請公網串連地址
  7. 在本地裝置上,執行以下命令將資料庫資料匯入至阿里雲MongoDB資料庫。
    mongorestore --host <mongodb_host>:3717 --authenticationDatabase admin -u <username> -d <database> <database_backupfile_directory>
    說明
    • <mongodb_host>:阿里雲MongoDB複本集執行個體的Primary節點或阿里雲MongoDB分區叢集執行個體的Mongos節點串連地址。
    • <username>:阿里雲MongoDB執行個體的資料庫帳號,本文以test為樣本帳號。
    • <database>:需要恢複的資料庫。備份檔案中如有多個資料庫,需要重複本步驟進行其它資料庫的恢複。
    • <database_backupfile_directory>:Database Backup檔案所在的目錄。

    樣本:

    恢複Database Backup檔案中的mongodbtest資料庫
    mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u test -d mongodbtest /dump/mongodbtest
    恢複Database Backup檔案中的test123資料庫
    mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u test -d test123 /dump/test123
  8. 當命令列提示 Enter password:時,輸入阿里雲MongoDB資料庫帳號對應的密碼並按斷行符號鍵確認。

等待資料恢複完成,MongoDB Atlas資料庫即遷移至阿里雲MongoDB資料庫中。