您可以使用MongoDB數據庫自帶的備份還原工具mongodumpmongorestore,備份和恢復MongoDB Serverless版實例。

背景信息

由于當前Serverless控制臺暫不支持備份與恢復功能,您可以通過MongoDB官方工具來達到備份恢復的目的。

注意事項

  • 確保安裝的mongodumpmongorestore軟件版本為4.2。安裝步驟詳情請參見官方文檔Install MongoDB。
  • 通過MongoDB工具備份Serverless實例的數據庫為全量邏輯備份。為保障數據一致性,備份操作開始前請停止源庫的相關業務,并停止數據寫入。
  • 執行mongodump備份命令將覆蓋dump文件夾中的歷史備份文件。如果您之前使用mongodump命令對源庫執行過備份操作,請將dump文件夾中的備份文件移動至其他目錄并確保dump文件夾為空。
  • 必須在安裝有MongoDB數據庫的服務器上執行mongodumpmongorestore命令,而不是在mongo shell環境下執行。
  • 您必須擁有目標數據庫的讀寫權限。
  • 您必須先申請公網連接地址。詳情請參見(可選)申請公網連接地址。

使用mongodump備份Serverless實例數據庫

  1. 登錄MongoDB管理控制臺。
  2. 在左側導航欄,單擊Serverless實例列表
  3. 在頁面左上角,選擇實例所在的資源組和地域。
  4. 單擊目標實例ID或目標實例所在行操作列的管理。
  5. 在目標實例頁面的左側導航欄,單擊數據庫連接。
  6. 查找并復制公網連接地址。
  7. 在安裝有mongodumpmongorestore的本地服務器中,執行如下命令進行數據備份。
    mongodump --host <mongodb_host>:3717 -u <username> --authenticationDatabase admin
    說明
    • <host>:Serverless實例的公網連接地址。
    • <username>:連接Serverless實例數據庫的賬號名。您可以在MongoDB控制臺基本信息頁面中的連接信息區域找到賬號名

    示例:

    mongodump --host dds-t4n**********-pub.mongodb.singapore.rds.aliyuncs.com:3717 -u user12345 --authenticationDatabase admin
    說明 如果提示無法連接,請先將本地服務器的IP地址添加到Serverless實例的白名單中。詳情請參見設置白名單。
  8. 命令行提示Enter password:時,輸入數據庫賬號對應的密碼,數據庫開始備份。如果您丟失了該密碼,請(可選)重置密碼。
    說明 等待備份完成,數據將備份至當前目錄下的dump文件夾中。

使用mongorestore恢復Serverless實例數據庫

  1. 登錄MongoDB管理控制臺
  2. 在左側導航欄,單擊Serverless實例列表。
  3. 在頁面左上角,選擇實例所在的資源組和地域。
  4. 單擊目標實例ID或目標實例所在行操作列的管理。
  5. 在目標實例頁面的左側導航欄,單擊數據庫連接。
  6. 查找并復制公網連接地址。
  7. 在安裝有mongodumpmongorestore的本地服務器中,執行如下命令將備份數據導入至Serverless實例數據庫。
    mongorestore --host <mongodb_host>:3717 -u <username> -d <database>  <dir> --authenticationDatabase admin
    說明
    • <mongodb_host>:Serverless實例的公網連接地址。
    • <username>:連接Serverless實例數據庫的賬號名。您可以在MongoDB控制臺基本信息頁面中的連接信息區域找到賬號名。
    • <database>:需要導入的數據庫。備份文件中如有多個數據庫,需要重復本步驟進行其它數據庫的導入。
    • <dir>:數據庫備份文件所在的目錄。

    示例:

    • 導入數據庫備份文件中的mongodbtest數據庫:
      mongorestore --host dds-t4n**********-pub.mongodb.singapore.rds.aliyuncs.com:3717 -u user12345 -d mongodbtest /dump/mongodbtest --authenticationDatabase admin
    • 導入數據庫備份文件中的test123數據庫:
      mongorestore --host dds-t4n**********-pub.mongodb.singapore.rds.aliyuncs.com:3717 -u user12345 -d test123 /dump/test123 --authenticationDatabase admin
    說明 如果提示無法連接,請先將本地服務器的IP地址添加到Serverless實例的白名單中。詳情請參見設置白名單。
  8. 命令行提示Enter password:時,輸入數據庫賬號對應的密碼,數據庫開始導入。如果您丟失了該密碼,請(可選)重置密碼。
    說明 等待恢復完成,數據將導入至Serverless實例數據庫中。