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.

Pankaj Choudhary
quelle

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.

Stennie
quelle
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
Können
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
user104596
quelle
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

doub1ejack
quelle
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

Student
quelle