Jak przywrócić określoną bazę danych z kopii zapasowej za pomocą polecenia mongorestore

62

Utworzyłem kopię zapasową wszystkich moich baz danych za pomocą polecenia mongodump. Teraz chcę przywrócić określoną bazę danych za pomocą polecenia mongorestore.

Jak to możliwe, używam tego polecenia: --db opcja, a następnie mongodb nie przywraca określonej bazy danych.

pankaj choudhary
źródło

Odpowiedzi:

85

Aby przywrócić pojedynczą bazę danych, musisz podać ścieżkę do katalogu zrzutu jako część mongorestorewiersza poleceń.

Na przykład:

# Backup the training database
mongodump --db training

# Restore the training database to a new database called training2
mongorestore --db training2 dump/training

--dbOpcja mongodumpokreśla źródłowej bazy danych do zrzutu.

--dbOpcja mongorestoreokreśla docelowej bazy danych w celu przywrócenia do.

Stennie
źródło
Wykonuję kopię zapasową, mongodump --archiveaby utworzyć plik .gz. Czy mogę wiedzieć, w jaki sposób przywracamy z pliku .gz, a także określamy nową nazwę bazy danych? Mój plik .gz ma rozmiar 2 GB, więc jego wyodrębnienie jest bardzo czasochłonne.
Nam G VU
@NamGVU Czy możesz opublikować nowe pytanie, w tym swoją wersję mongodumpi dokładną linię poleceń, której używasz? --archivePolecenie tworzy specjalny format archiwum, które jest różne od --gzip. W zależności od mongodumpwersji i użytych opcji wiersza polecenia istnieją różne zalecenia dotyczące zmiany nazw baz danych lub kolekcji mongorestore.
Stennie,
Zadałem pytanie zgodnie z wymaganiami, proszę o pomoc. Dziękuję Ci! dba.stackexchange.com/q/189928/52550
Nam G VU
Pomóż nam tutaj dba.stackexchange.com/q/189928/52550
Nam G VU
Dziękuję Stennie, twoja sugestia zadziałała dla mnie idealnie.
user752746,
13

Użyj następującego polecenia, aby przywrócić mongo db:

mongorestore -d dbname dbpath
użytkownik104596
źródło
9
$ mongorestore --drop -d <database-name> <dir-of-backup-files>
  • --drop Upuszczenie jest konieczne, jeśli zastępujesz istniejącą bazę danych
  • -d <database-name> Nazwa bazy danych do utworzenia / zastąpienia
  • <dir-of-backup-files> Z jakiegoś powodu jest to konieczne, nawet jeśli jest to bieżący katalog

wprowadź opis zdjęcia tutaj

Odniesienie: https://coderwall.com/p/3hx06a/restore-a-mongodb-database-mongorestore

double1ejack
źródło
1
to zadziałało dla mnie - bądź ostrożny, ponieważ spadnie db
Alexander Mills
Pomocne szczegóły tutaj.
Wylliam Judd
1

Przywracanie za pomocą sklepu mongorestore

Po upewnieniu się, że mongodi mongosą uruchomione, przejdź do katalogu nadrzędnego zrzutu w nowym terminalu. I użyj polecenia mongorestore dump. Gdzie dumpjest nazwa folderu, w którym znajduje się zrzut bazy danych.

Przywracanie za pomocą sklepu mongorestore

student
źródło