#mongodb #restore #mongorestore
#mongodb #восстановить #mongorestore
Вопрос:
Я загрузил резервную копию restore-xxx.tar.gz из моего атласа mongodb (ссылка для скачивания онлайн)
Я хочу восстановить его на другом сервере с помощью этой команды
.mongorestore.exe -uri mongodb srv://xxx-xxx.mongodb.net --username xxxx --password 'xxxx' --nsFrom='xxxxx.*' --nsTo='restoreDbTest.*' --gzip --archive='D:MongoExportDatarestore-xxx.tar.gz'
Я попытался разархивировать tar, чтобы получить тот же результат :
.mongorestore.exe -uri mongodb srv://xxx-xxx.mongodb.net --username xxxx --password 'xxxx' --nsFrom='xxxxx.*' --nsTo='restoreDbTest.*' --gzip --archive='D:MongoExportDataunzip-***.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.
Можете ли вы объяснить, почему я не могу восстановить резервную копию atlas с помощью mongorestore?
Ответ №1:
Я нашел решение
Как экспортировать и восстановить MongoDB между двумя учетными записями mongo Atlas:
- Загрузите архив из mongo Atlas
- Извлеките tar
- Запустите doemons (убедитесь, что служба не запущена в Windows) =>
'C:Program FilesMongoDBServer4.4binmongod.exe' --dbpath D:MongoExportArchiverestore-5f7431d95f8089221b1e16dd
- Создать дамп и сохранить в D:/data ==>
'D:MongoToolsbinmongodump.exe' -d myDataBase -o D:Data
- Импортировать дамп с помощью mongorestore ==>
'D:MongoToolsbinmongorestore.exe' -uri mongodb srv://xxxxxxxxx.mongodb.net -d dbRestoreProd --username myUser --password 'myP4ss0rd' D:DatamyDataBase