您可以使用MongoDB數據庫自帶的備份還原工具mongodump和mongorestore,備份和恢復MongoDB Serverless版實例。
背景信息
由于當前Serverless控制臺暫不支持備份與恢復功能,您可以通過MongoDB官方工具來達到備份恢復的目的。
注意事項
- 確保安裝的mongodump和mongorestore軟件版本為4.2。安裝步驟詳情請參見官方文檔Install MongoDB。
- 通過MongoDB工具備份Serverless實例的數據庫為全量邏輯備份。為保障數據一致性,備份操作開始前請停止源庫的相關業務,并停止數據寫入。
- 執行mongodump備份命令將覆蓋dump文件夾中的歷史備份文件。如果您之前使用mongodump命令對源庫執行過備份操作,請將dump文件夾中的備份文件移動至其他目錄并確保dump文件夾為空。
- 必須在安裝有MongoDB數據庫的服務器上執行mongodump和mongorestore命令,而不是在mongo shell環境下執行。
- 您必須擁有目標數據庫的讀寫權限。
- 您必須先申請公網連接地址。詳情請參見(可選)申請公網連接地址。
使用mongodump備份Serverless實例數據庫
- 登錄MongoDB管理控制臺。
- 在左側導航欄,單擊Serverless實例列表。
- 在頁面左上角,選擇實例所在的資源組和地域。
- 單擊目標實例ID或目標實例所在行操作列的管理。
- 在目標實例頁面的左側導航欄,單擊數據庫連接。
- 查找并復制公網連接地址。
- 在安裝有mongodump和mongorestore的本地服務器中,執行如下命令進行數據備份。
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實例的白名單中。詳情請參見設置白名單。 - 命令行提示
Enter password:
時,輸入數據庫賬號對應的密碼,數據庫開始備份。如果您丟失了該密碼,請(可選)重置密碼。說明 等待備份完成,數據將備份至當前目錄下的dump文件夾中。
使用mongorestore恢復Serverless實例數據庫
- 登錄MongoDB管理控制臺。
- 在左側導航欄,單擊Serverless實例列表。
- 在頁面左上角,選擇實例所在的資源組和地域。
- 單擊目標實例ID或目標實例所在行操作列的管理。
- 在目標實例頁面的左側導航欄,單擊數據庫連接。
- 查找并復制公網連接地址。
- 在安裝有mongodump和mongorestore的本地服務器中,執行如下命令將備份數據導入至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實例的白名單中。詳情請參見設置白名單。 - 命令行提示
Enter password:
時,輸入數據庫賬號對應的密碼,數據庫開始導入。如果您丟失了該密碼,請(可選)重置密碼。說明 等待恢復完成,數據將導入至Serverless實例數據庫中。