天天看點

使用 MongoDB 工具遷移自建資料庫上雲

使用 MongoDB 工具遷移自建資料庫上雲

鏡像下載下傳、域名解析、時間同步請點選

阿裡巴巴開源鏡像站

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

一、前提條件

  • 請確定安裝的Mongodump和Mongorestore軟體版本與自建MongoDB資料庫的版本一緻。安裝步驟請參見官方文檔 Install MongoDB
說明 您也可以直接在自建MongoDB資料庫所屬的伺服器上執行Mongodump和Mongorestore指令,無需安裝。
  • 副本集執行個體的存儲空間應大于自建MongoDB資料庫已占用的存儲空間。如存儲空間不足,您可以更新存儲空間,詳情請參見 變更配置方案概覽

二、注意事項

  • 該操作為全量資料遷移。為保障資料一緻性,遷移操作開始前請停止自建資料庫的相關業務,并停止資料寫入。
  • 如果您之前使用Mongodump指令對資料庫進行過備份操作,請将dump檔案夾中的備份檔案移動至其他目錄并確定dump檔案夾為空,否則執行備份操作将會覆寫該檔案夾中的曆史備份檔案。
  • 請在資料庫伺服器上執行Mongodump和Mongorestore指令,并非在mongo shell環境下執行。

三、操作步驟

1. 備份自建資料庫

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

mongodump --host <mongodb_host> --port <port>  -u <username>  --authenticationDatabase  <database>           
說明
  • :自建MongoDB資料庫的伺服器位址,本機可使用127.0.0.1。
  • :資料庫服務的端口号,預設為27017。
  • :自建MongoDB資料庫的資料庫賬号。
  • :鑒權資料庫名,即資料庫賬号所屬的資料庫。

示例:

mongodump --host 127.0.0.1 --port 27017 -u root --authenticationDatabase admin           

2)當指令行提示

Enter password:

時,輸入資料庫賬号對應的密碼并按Enter鍵确認,即開始執行備份操作。**

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

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

2. 将資料遷移至阿裡雲

1)擷取副本集執行個體Primary節點的公網或内網連接配接位址,詳情請參見

副本集執行個體連接配接說明

擷取阿裡雲MongoDB執行個體Primary節點的連接配接位址。

  • 登入 MongoDB管理控制台
  • 在頁面左上角,選擇執行個體所屬的地域。
  • 在左側導航欄,單擊副本集執行個體清單。
  • 找到目标執行個體,單擊執行個體ID。
  • 在左側導航欄,單擊資料庫連接配接,即可檢視資料庫連接配接資訊。
使用 MongoDB 工具遷移自建資料庫上雲

表 1. 連接配接位址說明

位址類型 适用場景
專有網絡連接配接位址 專有網絡是一種隔離的網絡環境,安全性和性能均高于傳統的經典網絡。 适用于自建MongoDB資料庫部署在 ECS執行個體

上的場景。

說明 需要ECS執行個體和阿裡雲MongoDB執行個體屬于同一地域,同一VPC網絡。

公網連接配接位址 為保障安全性,預設未提供公網連接配接位址,需要您手動申請,詳情請參見 申請公網連接配接位址 适用于自建MongoDB資料庫部署在本地裝置的場景。

2)将自建資料庫所屬伺服器的IP位址加入至副本集執行個體的白名單中,詳情請參見

設定白名單
  • 通過内網位址連接配接副本集執行個體時,您需要将自建資料庫所屬ECS的内網IP位址加入至副本集執行個體的白名單中。
  • 通過公網位址連接配接副本集執行個體時,将需要将自建資料庫所屬本地伺服器的公網IP位址加入至副本集執行個體的白名單中。

3)在自建資料庫伺服器上執行以下語句,将備份的資料全部遷移至副本集執行個體。

mongorestore --host <Primary_host>  -u <username> --authenticationDatabase <database> <Backup directory>           
  • :副本集執行個體中Primary節點的連接配接位址。
  • :副本集執行個體的資料庫賬号,初始賬号為root。
  • :鑒權資料庫名,即資料庫賬号所屬的資料庫。當資料庫賬号為root時,對應的資料庫為admin。
  • :備份檔案存儲的目錄,預設為dump。
mongorestore --host dds-bp**********-pub.mongodb.rds.aliyuncs.com:3717 -u root --authenticationDatabase admin dump           

4)當指令行提示

Enter password:

時,輸入副本集執行個體的資料庫賬号對應的密碼并按Enter鍵确認,即開始執行資料遷移操作。

  • 輸入密碼時,密碼字元是不可見的。
  • 如果忘記了root賬号的密碼,您可以通過 設定密碼 的方式來重置密碼。

等待資料遷移完成,根據業務需求選擇合适的時間,将業務切換至副本集執行個體。

提供全面,高效和穩定的系統鏡像、應用軟體下載下傳、域名解析和時間同步服務。”