MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Stellen Sie eine MongoDB-Datenbank mit mongorestore wieder her

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.