Wenn Sie eine Datenbank mit mongodump
gesichert haben Dienstprogramm, können Sie es mit mongorestore
wiederherstellen Dienstprogramm.
Der mongorestore
Dienstprogramm lädt Daten entweder aus einem binären Datenbank-Dump, der von mongodump
erstellt wurde oder die Standardeingabe in einen mongod
oder mongos
Beispiel.
Suchen Sie nach MongoDB-Datenbanktools
Der mongorestore
Das Dienstprogramm ist Teil des MongoDB Database Tools-Pakets. Die MongoDB-Datenbanktools sind eine Reihe von Befehlszeilendienstprogrammen für die Arbeit mit MongoDB.
Wenn Sie nicht sicher sind, ob Sie die MongoDB Database Tools/mongorestore
Eingerichtet. Versuchen Sie, den folgenden Befehl in Ihrem Terminal oder Ihrer Eingabeaufforderung auszuführen, um dies zu überprüfen:
mongorestore --version
Wenn Sie es nicht haben, können Sie die Installationsanweisungen auf der MongoDB-Website verwenden, um es auf Ihrem System zu installieren.
Wo sollen die Befehle ausgeführt werden?
Sie müssen mongorestore
ausführen Befehle über die Befehlszeile Ihres Systems (z. B. ein neues Terminal- oder Eingabeaufforderungsfenster).
Führen Sie sie nicht vom mongo
aus Hülse.
Alle Datenbanken aus einem Verzeichnis wiederherstellen
Der folgende Befehl stellt alle Datenbanken wieder her, die in dump/
gesichert wurden Verzeichnis:
mongorestore dump/
Dieses Beispiel stellt die Datenbanken auf der lokalen Instanz wieder her, die auf dem Standardport 27017 läuft. Wir wissen das, weil wir keine Host-, Port-, Authentifizierungsinformationen usw. bereitgestellt haben.
Eine bestimmte Datenbank wiederherstellen
Sie können --nsInclude
verwenden Parameter, um eine wiederherzustellende Datenbank anzugeben.
Beispiel:
mongorestore --nsInclude="PetHotel.*" dump/
In diesem Fall haben wir das PetHotel
wiederhergestellt Datenbank. Wir haben alle Sammlungen wiederhergestellt, da wir einen Sternchen-Platzhalter (*
), um alle Sammlungen anzugeben.
Eine bestimmte Sammlung wiederherstellen
Sie können auch --nsInclude
verwenden -Parameter, um eine wiederherzustellende Sammlung anzugeben.
Beispiel:
mongorestore --nsInclude="PetHotel.pets" dump/
Dieses Beispiel stellt die Haustiersammlung aus dem PetHotel
wieder her Datenbank. Wenn die Datenbank nicht existiert, wird sie mit einer einzigen Sammlung erstellt (pets
).
Dieses Beispiel ist fast identisch mit dem vorherigen Beispiel, außer dass anstelle des Sternchen-Platzhalters (*
) um alle Sammlungen anzugeben, haben wir explizit die Sammlung angegeben, die wir wiederherstellen möchten.
Sammlung umbenennen
Sie können --nsFrom
verwenden und --nsTo
Parameter, um einen neuen Namen für die Sammlung anzugeben.
Beispiel:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' dump/
Dadurch werden die pets
umbenannt Sammlung zu pets2
.
Beachten Sie, dass der obige Code auch alle anderen Datenbanken und Sammlungen im dump/
wiederherstellt Verzeichnis. Der einzige Unterschied besteht darin, dass die pets
Die Sammlung wird als pets2
wiederhergestellt .
Wenn Sie nur eine einzelne Sammlung wiederherstellen (und dabei umbenennen) möchten, verwenden Sie das --nsInclude
Parameter.
Beispiel:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHotel.pets2' --nsInclude="PetHotel.pets" dump/
Datenbank umbenennen
Sie können das gleiche Konzept verwenden, um eine Datenbank umzubenennen. Verwenden Sie einfach den --nsFrom
und --nsTo
Parameter, um einen neuen Namen für die Datenbank anzugeben.
Beispiel:
mongorestore --nsFrom='PetHotel.pets' --nsTo='PetHouse.pets' --nsInclude="PetHouse.*" dump/
In diesem Fall habe ich das PetHotel
umbenannt Datenbank zu PetHouse
.
Beachten Sie, dass --nsInclude
Parameter gibt das neue an Name der Datenbank. Außerdem verwende ich den Sternchen-Platzhalter (*
), um alle Sammlungen in dieser Datenbank wiederherzustellen.
Sammlungen ausgenommen
Sie können den --nsExclude
verwenden -Parameter, um eine Sammlung anzugeben, die ausgeschlossen werden soll aus dem Wiederherstellungsprozess.
Beispiel:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" dump/
Dieses Beispiel stellt alle Sammlungen im PetHotel
wieder her Datenbank mit Ausnahme der dogs
Sammlung.
Sie können --nsExclude
verwenden mehrmals, um mehrere Sammlungen vom Wiederherstellungsprozess auszuschließen.
Beispiel:
mongorestore --nsInclude="PetHotel.*" --excludeCollection="dogs" --excludeCollection="employees" dump/
Zugriffskontrolle/Authentifizierung
Die vorherigen Beispiele wurden auf dem lokalen Computer unter Verwendung des Standardports durchgeführt. Das bedeutete, dass wir mongodump
ausführen konnten ohne Dinge wie --host
anzugeben , --port
, --username
usw.
Hier ist ein Beispiel, das diese Parameter verwendet, um sich als homer
zu authentifizieren :
mongorestore --host=myhost.example.com --port=37017 --username=homer --authenticationDatabase=admin /backups/mongodump-2020-12-30
Wir hätten auch das --password
verwenden können Parameter, aber wir haben es nicht getan. Wenn Sie --user
übergeben aber nicht --password
, werden Sie nach dem Passwort gefragt.
Aus komprimierten Dateien wiederherstellen
Sie können den --gzip
verwenden Parameter zum Wiederherstellen aus komprimierten Dateien oder Datenströmen, die von mongodump --gzip
erstellt wurden .
Beispiel:
mongorestore --gzip --nsInclude="krankykranes.*" dump3/
Leiser Modus
Sie können den --quiet
verwenden Parameter, um die Ausgabe in Ihrem Terminal- oder Eingabeaufforderungsfenster zu begrenzen.
mongorestore --quiet
Ohne dies zu verwenden, sehen Sie wahrscheinlich eine große Liste von Ansichten, Sammlungen usw., die wiederhergestellt werden.
Ausführlicher Modus
Auf der anderen Seite können Sie --verbose
verwenden oder -v
Parameter erhöhen die Ausgabe in Ihrem Terminal- oder Eingabeaufforderungsfenster.
mongorestore --verbose
Sie können die Ausführlichkeit erhöhen, indem Sie das -v
wiederholen mehrfach bilden.
Beispiel:
mongorestore -vvvv
Weitere Informationen über Mongodump
Der mongorestore
Utility akzeptiert viele andere nützliche Parameter, und es gibt auch verschiedene Faktoren zu berücksichtigen, wenn es als Teil einer Sicherungs- und Wiederherstellungsstrategie verwendet wird.
Siehe mongorestore
Dokumentation auf der MongoDB-Website für weitere Informationen.
Andere Optionen
mongodump
und mongorestore
sind einfache und effiziente Tools zum Sichern und Wiederherstellen kleiner MongoDB-Bereitstellungen, sind jedoch nicht ideal zum Erfassen von Sicherungen größerer Systeme.
Weitere Methoden zum Sichern und Wiederherstellen Ihrer MongoDB-Datenbanken finden Sie unter MongoDB-Sicherungsmethoden auf der MongoDB-Website.