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.

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.


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


Dziękuję Stennie, twoja sugestia zadziałała dla mnie idealnie.
user752746,


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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.