Wiederherstellen einer bestimmten Datenbank aus einer Sicherung mit dem Befehl mongorestore


62

Ich habe mit dem Befehl mongodump eine Sicherungskopie aller meiner Datenbanken erstellt. Jetzt möchte ich eine bestimmte Datenbank mit dem Befehl mongorestore wiederherstellen.

Wie das möglich ist, benutze ich diesen Befehl: --db Option, dann stellt mongodb keine bestimmte Datenbank wieder her.

Antworten:


85

Um eine einzelne Datenbank wiederherzustellen, müssen Sie den Pfad zum Dump-Verzeichnis als Teil der mongorestoreBefehlszeile angeben.

Zum Beispiel:

# Backup the training database
mongodump --db training

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

Die --dbOption für mongodumpgibt die zu sichernde Quellendatenbank an.

Die --dbOption für mongorestoregibt die Zieldatenbank an, in die zurückgeschrieben werden soll.


Ich sichere mit mongodump --archive.gz-Datei zu erstellen. Kann ich wissen, wie wir aus der .gz-Datei wiederherstellen und auch einen neuen Datenbanknamen angeben? Meine .gz-Datei hat eine Größe von 2 GB, daher ist das Extrahieren sehr zeitaufwendig.
Nam G VU

@NamGVU Können Sie eine neue Frage stellen, die Ihre Version mongodumpund die genaue Befehlszeile enthält, die Sie verwenden? Der --archiveBefehl erstellt ein spezielles Archivformat, das sich von unterscheidet --gzip. Abhängig von Ihrer mongodumpVersion und den verwendeten Befehlszeilenoptionen gibt es unterschiedliche Empfehlungen zum Umbenennen von Datenbanken oder Sammlungen mit mongorestore.
Stennie

Ich habe die Frage wie gewünscht gestellt, bitte um Hilfe. Danke! dba.stackexchange.com/q/189928/52550
Nam G VU


Danke Stennie, dein Vorschlag hat perfekt für mich funktioniert.
User752746

13

Verwenden Sie den folgenden Befehl, um mongo db wiederherzustellen:

mongorestore -d dbname dbpath

9
$ mongorestore --drop -d <database-name> <dir-of-backup-files>
  • --drop Löschen ist erforderlich, wenn Sie eine vorhandene Datenbank ersetzen
  • -d <database-name> Der Name der zu erstellenden / zu ersetzenden Datenbank
  • <dir-of-backup-files> Aus irgendeinem Grund ist dies auch dann erforderlich, wenn es sich um das aktuelle Verzeichnis handelt

Bildbeschreibung hier eingeben

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


1
das hat bei mir funktioniert - sei nur vorsichtig, da es die
Alexander Mills

Hilfreiche Details hier.
Wylliam Judd

1

Wiederherstellung mit Mongorestore

Nachdem sichergestellt ist, dass mongodund mongoausgeführt werden , gehen auf das übergeordnete Verzeichnis des Dump in einem neuen Terminal. Und benutze den Befehl mongorestore dump. Wo dumpist der Ordnername, in dem sich der Datenbankspeicherauszug befindet?

Wiederherstellung mit Mongorestore

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.