如何使用 mongorestore r3.2.9 从具有新数据库名称的 .gz 备份恢复?

Nam*_* VU 13 mongodb backup restore

我正在尝试将 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}.*"
Run Code Online (Sandbox Code Playgroud)

步骤 01 即备份对 mongodb 版本r3.2.9r3.4.10; 虽然步骤 02 不适用于r3.2.9

如何从 .gz 文件中获取mongorestore版本r3.2.9并能够重命名数据库?

ps

我们在这里解决方案,但这需要备份是一个文件夹;我的备份文件很大,即 1Gb-2Gb,所以提取太耗时了。

小智 20

没有什么对我有用,但这个。

mongorestore --gzip --archive=/path/to/file.gz --db db_name
Run Code Online (Sandbox Code Playgroud)


小智 15

在 3.2.x 中,您不能使用--nsFrom--nsTo参数。这对命令应该适用于所有版本:

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

mongorestore --gzip --db "${DB_NAME_RESTORE}" ${BACKUP_FILE_GZ}/${DB_NAME}
Run Code Online (Sandbox Code Playgroud)

现在您获得了一个包含 gzip 文件的目录,您可以将所有(或仅一个)集合恢复到不同的数据库。