全部產品
Search
文件中心

ApsaraDB for MongoDB:使用MongoDB工具將自建資料庫遷移至單節點執行個體

更新時間:Jun 19, 2024

Mongodump和Mongorestore是MongoDB資料庫內建的備份恢複工具。您可以在本地裝置或ECS執行個體中安裝MongoDB資料庫,然後藉助該工具將自建MongoDB資料庫遷移至阿里雲MongoDB執行個體。

推薦使用DTS遷移單節點架構的自建MongoDB資料庫上雲,可實現不停機遷移上雲,操作步驟,請參見ApsaraDB for MongoDB(單節點架構)全量遷移至ApsaraDB for MongoDB(所有架構)

更多資料移轉或同步情境的解決方案,請參見資料移轉和同步方案概覽

前提條件

  • 請確保安裝的Mongodump和Mongorestore軟體版本與自建MongoDB資料庫的版本一致。安裝步驟請參見官方文檔Install MongoDB

    說明

    您也可以直接在自建MongoDB資料庫所屬的伺服器上執行Mongodump和Mongorestore命令,無需安裝。

  • 為保障相容性,自建MongoDB資料庫的版本需為3.0及以上版本。

    說明

    阿里雲MongoDB執行個體支援的儲存引擎請參見版本及儲存引擎,如需跨版本或跨引擎遷移,請提前確認相容性。

  • 單節點執行個體的儲存空間應大於自建MongoDB資料庫已佔用的儲存空間。如儲存空間不足,您可以升級儲存空間,詳情請參見變更配置方案概覽

注意事項

  • 該操作為全量資料移轉。為保障資料一致性,遷移操作開始前請停止自建資料庫的相關業務,並停止資料寫入。

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

  • 請在自建MongoDB資料庫伺服器上執行Mongodump和Mongorestore命令,並非在Mongo Shell環境下執行。

步驟一:備份自建資料庫

  1. 在自建MongoDB資料庫所屬的伺服器中執行以下命令,備份所有資料庫的資料。

    mongodump --host <mongodb_host> --port <port>  -u <username>  --authenticationDatabase  <database>
    說明
    • <mongodb_host>:自建MongoDB資料庫的伺服器位址,本機可使用127.0.0.1。

    • <port>:資料庫服務的連接埠號碼,預設為27017。

    • <username>:自建MongoDB資料庫的資料庫帳號,本文以test為樣本帳號。

    • <database>:鑒權資料庫名,即資料庫帳號所屬的資料庫。

    樣本:

    mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin
  2. 當命令列提示Enter password:時,輸入資料庫帳號對應的密碼並按斷行符號鍵確認,即開始執行備份操作。

    說明

    輸入密碼時,密碼字元是不可見的。

等待備份完成,自建資料庫中的資料即備份至目前的目錄下的dump檔案夾中。

步驟二:將資料移轉至阿里雲

  1. 擷取阿里雲MongoDB執行個體Primary節點的串連地址。

    1. 登入MongoDB管理主控台

    2. 在頁面左上方,選擇執行個體所屬的地區。

    3. 在左側導覽列,單擊複本集執行個體列表

    4. 找到目標執行個體,單擊執行個體ID。

    5. 在左側導覽列,單擊資料庫連接,即可查看資料庫連接資訊。

      MongoDB單節點查看串連資訊

      表 1. 串連地址說明

      地址類型

      說明

      適用情境

      專用網路串連地址

      專用網路是一種隔離的網路環境,安全性和效能均高於傳統的傳統網路。

      適用於自建MongoDB資料庫部署在ECS執行個體上的情境。

      說明

      需要ECS執行個體和阿里雲MongoDB執行個體屬於同一地區,同一VPC網路。

      公網串連地址

      為保障安全性,預設未提供公網串連地址,需要您手動申請,詳情請參見申請公網串連地址

      適用於自建MongoDB資料庫部署在本地裝置的情境。

  2. 將自建資料庫所屬伺服器的IP地址加入至MongoDB執行個體的白名單中,詳情請參見設定白名單

    說明
    • 通過專用網路串連阿里雲MongoDB執行個體時,您需要將自建資料庫所屬ECS的內網IP地址加入至阿里雲MongoDB執行個體的白名單中。

    • 通過公網地址串連阿里雲MongoDB執行個體時,將需要將自建資料庫所屬本機伺服器的公網IP地址加入至阿里雲MongoDB執行個體的白名單中。

  3. 在自建資料庫伺服器上執行以下語句,將備份的資料全部遷移至阿里雲MongoDB執行個體。

    mongorestore --host <Primary_host>  -u <username> --authenticationDatabase <database> <Backup directory>
    說明
    • <Primary_host>:阿里雲MongoDB執行個體中Primary節點的串連地址。

    • <username>:阿里雲MongoDB執行個體的資料庫帳號,初始帳號為root

    • <database>:鑒權資料庫名,即資料庫帳號所屬的資料庫。當資料庫帳號為root時,對應的資料庫為admin。

    • <Backup directory>:備份檔案儲存的目錄,預設為dump

    樣本:

    資料庫帳號為test,所屬資料庫為admin。

    mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump
  4. 當命令列提示Enter password:時,輸入阿里雲MongoDB執行個體資料庫帳號對應的密碼並按斷行符號鍵確認,即開始執行資料移轉操作。

    說明
    • 輸入密碼時,密碼字元是不可見的。

    • 如果忘記了root帳號的密碼,您可以通過設定密碼的方式來重設密碼。

等待資料移轉完成,根據業務需求選擇合適的時間,將業務切換至阿里雲MongoDB執行個體。

更多資訊

資料庫遷移至阿里雲MongoDB執行個體後,您可以執行串連資料庫、管理資料庫和資料庫帳號等操作。