问题描述
我从mongodb地图集(在线下载链接)中下载了备份 restore-xxx.tar.gz
我想使用此命令在其他服务器上还原
.\mongorestore.exe -uri mongodb+srv://xxx-xxx.mongodb.net --username xxxx --password 'xxxx' --nsFrom='xxxxx.*' --nsTo='restoreDbTest.*' --gzip --archive='D:\MongoExportData\restore-xxx.tar.gz'
我尝试过解压缩tar的结果也是如此:
.\mongorestore.exe -uri mongodb+srv://xxx-xxx.mongodb.net --username xxxx --password 'xxxx' --nsFrom='xxxxx.*' --nsTo='restoreDbTest.*' --gzip --archive='D:\MongoExportData\unzip-***.gz'
我收到此错误:
2020-10-30T11:41:24.494+0100 Failed: stream or file does not appear to be a mongodump archive
2020-10-30T11:41:24.495+0100 0 document(s) restored successfully. 0 document(s) Failed to restore.
您能解释一下为什么我无法使用mongorestore恢复Atlas备份吗?
解决方法
我找到了解决方法
如何在两个mongo Atlas帐户之间导出和还原mongoDb:
- 从mongo Atlas下载档案文件
- 提取焦油
- 运行守护程序(确保服务未在Windows上运行)=>
'C:\Program Files\MongoDB\Server\4.4\bin\mongod.exe' --dbpath D:\MongoExportArchive\restore-5f7431d95f8089221b1e16dd
- 创建转储并将其保存在D:/ data ==>
'D:\MongoTools\bin\mongodump.exe' -d myDataBase -o D:\Data
- 使用mongorestore ==>
'D:\MongoTools\bin\mongorestore.exe' -uri mongodb+srv://xxxxxxxxx.mongodb.net -d dbRestoreProd --username myUser --password 'myP4ss0rd' D:\Data\myDataBase
导入转储