Backup

如何使用 mongorestore r3.2.9 從具有新數據庫名稱的 .gz 備份中恢復?

  • August 12, 2020

我正在嘗試將 mongodb 數據庫備份/恢復到 .gz 文件作為範例腳本here

#01 create .gz backup - ok for r3.2.9 and r3.4.10 
mongodump --db ${DB_NAME} --gzip --archive=${BACKUP_FILE_GZ}

#02 restore from .gz file - NOT ok for r3.2.9
mongorestore --gzip --archive=${BACKUP_FILE_GZ} --nsFrom "${DB_NAME}.*" --nsTo "${DB_NAME_RESTORE}.*"

步驟 01 即備份對 mongodb 版本r3.2.9r3.4.10; 雖然步驟 02 不適用於r3.2.9

如何獲得mongorestore版本r3.2.9以從 .gz 文件恢復並能夠重命名數據庫?

ps

我們在這裡有解決方案,但這需要備份是一個文件夾;我的備份文件很大,即 1Gb-2Gb,因此提取非常耗時。

對於 3.2.x,您不能使用--nsFromor--nsTo參數。這對命令應該適用於所有版本:

mongodump --db ${DB_NAME} --gzip -o ${BACKUP_FILE_GZ}

mongorestore --gzip --db "${DB_NAME_RESTORE}" ${BACKUP_FILE_GZ}/${DB_NAME}

現在您獲得了一個包含 gzip 文件的目錄,您可以將所有(或僅一個)集合恢復到不同的數據庫。

除了這個,沒有什麼對我有用。

mongorestore --gzip --archive=/path/to/file.gz --db db_name

引用自:https://dba.stackexchange.com/questions/189928