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

MongoDB – Erstellen Sie eine Sicherung

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.