Um eine Sicherung in MongoDB zu erstellen, kopieren Sie die Dateien entweder direkt oder verwenden Sie eines von mehreren Sicherungs-/Verwaltungstools.
Es gibt mehrere Möglichkeiten, eine MongoDB-Datenbank zu sichern:
- Kopieren Sie die Datendateien
- Verwenden Sie
mongodump
- MongoDB Cloud Manager verwenden
- Ops-Manager verwenden
Kopieren Sie die Datendateien
Sie können die zugrunde liegenden Datendateien kopieren, die MongoDB zum Speichern von Daten verwendet. Diese befinden sich im Datenverzeichnis.
Der Standardspeicherort des Datenverzeichnisses ist /data/db , wenn Sie jedoch einen anderen Standort verwenden, müssen Sie stattdessen diesen verwenden.
Für eine vollständige Sicherung sollten Sie das gesamte Verzeichnis kopieren.
Sie können auch Snapshots verwenden, wenn das Volume dies unterstützt. Verwenden Sie zum Beispiel unter Linux LVM (Logical Volume Manager), um einen Snapshot zu erstellen, dann können Sie von diesem Snapshot auf Ihre Backup-Site/entfernten Speicherort kopieren.
Verwenden Sie mongodump
Sie können mongodump
verwenden um die Daten zu sichern und mongorestore
um es wiederherzustellen.
Um schnell alle Inhalte des laufenden Servers zu sichern, öffnen Sie ein neues Terminal/eine neue Eingabeaufforderung, wechseln Sie in ein Verzeichnis, in dem Sie /dump haben möchten Ordner, in dem erstellt werden soll, und geben Sie Folgendes ein:
mongodump
Sie müssen den vollständigen Pfad angeben, wenn sich das MongoDB-bin-Verzeichnis nicht in Ihrem PATH befindet.
Wenn Sie feststellen, dass Sie mongodump nicht ausführen können , vergewissern Sie sich, dass Sie entweder mongo beendet haben oder öffnen Sie ein neues Terminal-/Eingabeaufforderungsfenster, bevor Sie mongodump ausführen , da es sich um ein separates Dienstprogramm handelt.
Ergebnismeldung:
2016-07-12T15:44:34.467+0700 writing music.artists to 2016-07-12T15:44:34.467+0700 writing music.musicians to 2016-07-12T15:44:34.467+0700 writing music.catalog to 2016-07-12T15:44:34.468+0700 done dumping music.artists (13 documents) 2016-07-12T15:44:34.469+0700 done dumping music.musicians (10 documents) 2016-07-12T15:44:34.469+0700 done dumping music.catalog (10 documents) 2016-07-12T15:44:34.470+0700 writing music.producers to 2016-07-12T15:44:34.470+0700 writing music.jazz to 2016-07-12T15:44:34.470+0700 done dumping music.producers (5 documents) 2016-07-12T15:44:34.470+0700 done dumping music.jazz (1 document) 2016-07-12T15:44:34.534+0700 writing test.restaurants to 2016-07-12T15:44:34.705+0700 done dumping test.restaurants (25359 documents)
Und so sieht das im Finder meines Macs aus:
Wie Sie sehen können, hat es einen Ordner namens dump erstellt , dann einen Ordner für jede Datenbank und dann alle Sammlungen und ihre Metadaten in den jeweiligen Datenbankordner abgelegt. Ich habe die Musik erweitert Datenbankordner, um die Dateien in diesem Verzeichnis anzuzeigen.
Beachten Sie, dass mongodump
überschreibt Ausgabedateien, wenn sie im Sicherungsdatenordner vorhanden sind. Stellen Sie daher sicher, dass Sie alle Dateien, die Sie behalten müssen, verschieben oder umbenennen, bevor Sie mongodump
ausführen nochmal.
Eine einzelne Datenbank sichern
Sie können eine einzelne Datenbank sichern, indem Sie den Namen der Datenbank in --db
angeben Parameter:
mongodump --db=music
Eine einzelne Sammlung sichern
Sie können eine einzelne Sammlung sichern, indem Sie den Namen der Sammlung in --collection
angeben Parameter:
mongodump --db=music --collection=artists
Geben Sie einen Backup-Speicherort an
Verwenden Sie das --out
-Parameter, um das Verzeichnis anzugeben, in das die Sicherung geschrieben werden soll:
mongodump --db music --out /data/backups
Weitere Optionen
mongodump
hat viele weitere Optionen, um anzugeben, wie die Daten gesichert werden. Sie können jederzeit mongodump --help
ausführen um zu sehen, welche Optionen verfügbar sind.
Einen mongodump
wiederherstellen Sicherung
Sie können jeden mongodump
wiederherstellen Sicherung durch Ausführen von mongorestore
. das funktioniert ähnlich wie mongodump
.
Siehe mongorestore --help
für weitere Informationen.
mongodump
und mongorestore
sind hauptsächlich für kleinere Bereitstellungen und für teilweise Sicherungen und Wiederherstellungen auf der Grundlage einer Abfrage, für die Synchronisierung von Produktions- mit Staging- oder Entwicklungsumgebungen oder für die Änderung der Speicher-Engine eines Standalone-Systems gedacht.
Verwenden Sie für größere Systeme oder Sharding-Cluster oder Replikatsätze ein robusteres Backup-System wie MongoDB Cloud Manager oder Ops Manager.
MongoDB Cloud Manager
MongoDB Cloud Manager ist eine gehostete Plattform zur Verwaltung von MongoDB.
Sie können MongoDB Cloud Manager verwenden, um MongoDB-Replikatsätze und fragmentierte Cluster kontinuierlich zu sichern, indem Sie die Oplog-Daten aus Ihrer MongoDB-Bereitstellung lesen.
MongoDB Cloud Manager arbeitet auf Abonnementbasis. Mehr Infos hier.
Ops-Manager
Ops Manager ist wie MongoDB Cloud Manager, außer dass er in Ihrer lokalen Umgebung (d. h. nicht in der Cloud) installiert wird. Sie können es also zum Überwachen, Automatisieren und Sichern Ihrer MongoDB-Bereitstellung verwenden.
Ops Manager ist für MongoDB-Abonnenten verfügbar.