使用MongoDB資料庫內建的備份還原工具,您可以將Azure Cosmos DB API for MongoDB遷移至阿里雲。
注意事項
該操作為全量遷移,為避免遷移前後資料不一致,遷移開始前請停止資料庫寫入。
如果您之前使用
mongodump
命令對資料庫進行過備份操作,請將備份在dump檔案夾下的檔案移動至其他目錄。確保預設的dump備份檔案夾為空白,否則將會覆蓋該檔案夾下之前備份的檔案。請在安裝有MongoDB服務的伺服器上執行
mongodump
和mongorestore
命令,並非在mongo shell環境下執行。
資料庫帳號許可權要求
執行個體類型 | 帳號許可權 |
Azure Cosmos DB | read |
目的MongoDB執行個體 | readWrite |
環境準備
遷移步驟
登入Azure門戶。
在左側導覽列單擊Azure Cosmos DB。
在Azure Cosmos DB頁面,單擊需要遷移的Cosmos DB 賬戶名稱。
在賬戶詳情頁,單擊Connection String。
單擊Read-only Keys頁簽,查看串連該資料庫所需的資訊。
說明遷移資料時使用唯讀許可權的帳號密碼資訊即可。
在安裝有MongoDB服務的Linux伺服器上執行以下命令進行資料備份,將資料備份至該伺服器上。
mongodump --host <HOST>:10255 --authenticationDatabase admin -u <USERNAME> -p <PRIMARY PASSWORD> --ssl --sslAllowInvalidCertificates
說明將
<HOST>
、<USERNAME>
和<PRIMARY PASSWORD>
更換為Azure串連資訊中對應選項的值。等待備份完成,Azure Cosmos DB的資料庫將備份至目前的目錄下dump檔案夾中。
擷取阿里雲MongoDB資料庫的Primary節點串連地址,詳情請參見執行個體串連說明。
在安裝有MongoDB服務的Linux伺服器上執行以下語句將資料庫資料全部匯入至阿里雲MongoDB資料庫。
mongorestore --host <mongodb_host>:3717 --authenticationDatabase admin -u <username> -p <password> dump
說明<mongodb_host>:MongoDB執行個體的Primary節點串連地址。
<username>:登入MongoDB執行個體的資料庫使用者名稱。
<password>:登入MongoDB執行個體的資料庫密碼。
等待資料恢複完成,Azure Cosmos DB API for MongoDB資料庫即遷移至阿里雲MongoDB資料庫中。