Wie man Mongodump für MongoDB-Backups verwendet

Wie man Mongodump für MongoDB-Backups verwendet

  • Orchestrierung
5 Minuten Lesezeit Aktualisiert Feb 14, 2025

Auf einen Blick: MongoDB mongodump ist ein Dienstprogramm zur Erstellung von Datenbank-Backups und erzeugt BSON-Dateien zur Wiederherstellung. Es unterstützt eigenständige und Replica-Set-Deployments und ist für kleine Instanzen benutzerfreundlich. Der Artikel behandelt verschiedene Backup-Optionen in MongoDB, einschließlich integrierter Tools und Dateisystem-Backups, und betont die Bedeutung von Backups zur Gewährleistung der Datensicherheit.

  • Mongodump erstellt hochpräzise Datenbank-Backups.
  • Backups können mit verschiedenen Methoden durchgeführt werden, darunter MongoDB Atlas und Cloud Manager.

Die Pflege von Backups ist für jede Organisation von entscheidender Bedeutung. Daten-Backups dienen als Sicherheitsmaßnahme, bei der Daten im Notfall wiederhergestellt oder wiederhergestellt werden können. Typischerweise erstellen Sie Datenbank-Backups, indem Sie die Datenbank replizieren, und zwar mit Folgendes:

  • Eingebaute Werkzeuge
  • Spezialisierte externe Backup-Dienste

Backup von MongoDB

MongoDB bietet je nach verwendeter MongoDB-Bereitstellungsmethode mehrere integrierte Backup-Optionen. Wir werfen einen kurzen Blick auf die Optionen, zeigen Ihnen aber, wie Sie eine bestimmte Option – MongoDB mongodump – für den Backup-Prozess nutzen können.

Eingebaute Backups in MongoDB

Hier sind die verschiedenen Möglichkeiten, Ihre Daten in MongoDB zu sichern:

Mongodump und andere MondoDB-Backup-Optionen.

 

MongoDB Atlas-Backups

Wenn MongoDB im Cloud-Datenbankdienst MongoDB Atlas gehostet wird, bietet der Altas-Dienst automatisierte, kontinuierliche inkrementelle Backups. Zusätzlich kann Altas verwendet werden, um Cloud-Provider-Snapshots zu erstellen, bei denen lokale Datenbank-Snapshots mit der zugrunde liegenden Cloud-Anbieter-Snapshot-Funktionalität erstellt werden.

MongoDB Cloud Manager oder Ops Manager

Cloud Manager ist ein gehosteter Backup-, Überwachungs- und Automatisierungsdienst für MongoDB. Cloud Manager ermöglicht ein einfaches Backup und stellt Funktionen wieder her, während er externe Backups bereitstellt. Ops Manager bietet die gleiche Funktionalität wie Cloud Manager, kann aber als On-Premises-Lösung bereitgestellt werden.

MongoDB mongodump

Mongodump-Datenbank-Backup ist ein einfaches MongoDB-Backup-Programm, das hochpräzise BSON-Dateien aus einer zugrunde liegenden Datenbank erstellt. Diese Dateien können mit dem Mongorestore-Tool wiederhergestellt werden. Mongodump ist eine ideale Backup-Lösung für kleine MongoDB-Instanzen aufgrund seiner Benutzerfreundlichkeit und Portabilität.

Dateisystem-Backups

Bei dieser Methode bewahrt man lediglich Kopien der zugrunde liegenden Datendateien einer MongoDB-Installation auf. Wir können Snapshots verwenden, wenn das Dateisystem dies unterstützt. Eine andere Möglichkeit ist ein Tool wie rsync , bei dem wir die Datendateien direkt in ein Backup-Verzeichnis kopieren können.

Was ist MongoDB mongodump?

Der Mongodump ist ein Dienstprogramm zur Erstellung von Datenbank-Backups. Das Dienstprogramm kann verwendet werden, um binäre Exporte der Datenbankinhalte zu erstellen. Mongodump kann Daten sowohl von Mongod- als auch von Mongo-Instanzen exportieren, sodass Sie Backups von:

  • Ein eigenständiges, nachgebautes Set
  • Ein Sharded-Cluster von MongoDB-Deployments

Vor MongoDB 4.4 wurde mongodump zusammen mit dem MongoDB-Server veröffentlicht und verwendete abgestimmte Versionierung. Die neuen Mongodump-Iterationen sind als separates Dienstprogramm in den MongoDB Database Tools veröffentlicht. Mongodump garantiert die Kompatibilität mit MongoDB 4.4, 4.2, 4.0 und 3.6. Das Mongodump-Dienstprogramm wird auf den meisten x86_64 Plattformen sowie einigen ARM64-, PPC64LE- und s390x-Plattformen unterstützt. Die vollständige Liste der Plattformen, mit denen mongodump kompatibel ist, finden Sie in deren Dokumentation.

Mongodump-Aktionen und Einschränkungen innerhalb von MongoDB

Die folgende Liste analysiert die erwarteten Verhaltensweisen und Einschränkungen des Mongodump-Nutzens.

  • Das mongodump-Dienstprogramm richtet seine Lesevorgänge auf das primäre Mitglied eines Replikensets, wodurch die Standardlesepräferenz auf primär ist.
  • Die Sicherungsoperation schließt die "lokale" Datenbank aus und erfasst nur die Dokumente ohne die Indexdaten. Diese Indizes müssen nach einem Wiederherstellungsprozess neu aufgebaut werden.
  • Wenn es darum geht, schreibgeschützte Ansichten zu sichern, erfasst mongodump nur Metadaten von Ansichten. Wenn Sie Dokumente innerhalb einer Ansicht erfassen möchten, verwenden Sie das Flag "–viewsAsCollections".
  • Um maximale Kompatibilität zu gewährleisten, verwenden Sie Extended JSON v2.0 (Canonical) für mongodump-Metadatendateien. Es wird empfohlen, die entsprechenden Versionen von mongodump und mongorestore bei Backup- und Wiederherstellungsoperationen zu verwenden.
  • Der Mongodump-Befehl überschreibt die vorhandenen Dateien im jeweiligen Backup-Ordner. Der Standardstandort für Backups ist der Dump/Ordner.
  • Wenn die WiredTiger-Speicher-Engine in einer MongoDB-Instanz verwendet wird, sind die Ausgaben unkomprimierte Daten.
  • Backup-Operationen mit Mongodump hängen vom verfügbaren Systemspeicher ab. Ist der Datensatz größer als der Systemspeicher, wird das Mongodump-Dienstprogramm den Arbeitssatz aus dem Speicher herausfordern.
  • Wenn die Zugriffskontrolle so konfiguriert ist, dass sie auf die MongoDB-Datenbank zugriffen, müssen Benutzer genügend Rechte für jede Datenbank haben, um Backups anfertigen zu können. MongoDB verfügt über eine integrierte Backup-Rolle mit den erforderlichen Rechten, um jede Datenbank zu sichern.
  • MongoDB erlaubt Mongodump, Teil der Backup-Strategie für Standalone oder ein Replica-Set zu sein.
  • Ab MongoDB 4.2 kann Mongodump nicht mehr als Teil der Backup-Strategie verwendet werden, wenn Sharded-Cluster mit laufenden Sharded-Transaktionen gesichert werden. In diesen Fällen wird empfohlen, eine Lösung wie MongoDB Cloud Manager oder Ops Manager zu verwenden, die die Atomität der Transaktionen über Shards hinweg erhalten.
  • Der Mongodump-Befehl muss aus der Systembefehls-Shell ausgeführt werden, da er ein separates Dienstprogramm ist.
  • Es gibt keine Option für inkrementelle Backups. Alle Backups erstellen eine vollständige Kopie der Datenbank.

MongoDB-Datenbanktools

MongoDB-Datenbankwerkzeuge sind eine Sammlung von Kommandozeilenprogrammen, die bei der Wartung und Verwaltung einer MongoDB-Instanz helfen. Die MongoDB-Datenbankwerkzeuge sind in diesen Umgebungen kompatibel:

  • Windows
  • Linux
  • macOS

In diesem Abschnitt schauen wir uns an, wie wir die Datenbankwerkzeuge auf einem Linux-Server installieren können.

Überprüfung von Datenbankwerkzeugen

Um zu überprüfen, ob die Datenbankwerkzeuge bereits auf dem System installiert sind, können wir folgenden Befehl verwenden.

    sudo dpkg -l mongodb-database-tools

Ergebnis für installierte Datenbankwerkzeuge:

Ergebnis für Datenbankwerkzeuge nicht verfügbar:

Installation von Datenbankwerkzeugen

Wenn Ihr System keine Datenbankwerkzeuge hat, erfahren Sie folgendermaßen, wie Sie es installieren. Das MongoDB-Downloadzentrum stellt die neueste Version der MongoDB Datenbankwerkzeuge bereit. Laden Sie die neueste Version entsprechend Ihrer Plattform und Ihrem Pakettyp herunter. In einer CLI-Umgebung können wir den Download-Link kopieren und wget oder curl verwenden, um das Paket herunterzuladen. Im untenstehenden Beispiel verwenden wir die Database Tools Version 100.2.1 für Ubuntu als Deb-Paket und installieren dann mit der heruntergeladenen Datei.

    curl -o mongodb-database-tools-ubuntu2004-x86_64-100.2.1.deb https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.2.1.deb
sudo apt install ./mongodb-database-tools-ubuntu2004-x86_64-100.2.1.deb

Ergebnis:

Verwendung von MongoDB mongodump

In diesem Abschnitt behandeln wir die grundlegende Nutzung des Mongodump-Utilitys in einer eigenständigen MongoDB-Instanz.

Grundlegende Mongodump-Syntax

    mongodump

Die grundlegendste Methode zur Erstellung eines Backups besteht darin, den Mongodump-Befehl ohne Optionen zu verwenden. Dies setzt voraus, dass sich die Datenbank im localhost (127.0.0.1) befindet und Port 27017 ohne Authentifizierungsanforderungen verwendet. Der Backup-Prozess erstellt einen Dump-Ordner im aktuellen Verzeichnis.

    mongodump

Ergebnis:

Wir können zum Dump-Ordner navigieren, um die erstellten Backups zu überprüfen.

Backup einer entfernten MongoDB-Instanz

Wir können einen Host und einen Port mit der –uri-Verbindungsstring angeben. Verbinden Sie sich mit der URI-Option:

    mongodump --uri="mongodb://:" [additional options]

Verbinden Sie sich über die Host-Option:

    mongodump --host=":"  [additional options]

Verbinden Sie sich über Host- und Port-Optionen:

    mongodump --host="" --port=

Das folgende Beispiel zeigt, wie man ein Backup der entfernten MongoDB-Instanz erstellt:

    mongodump --host="10.10.10.59" --port=27017

Ergebnis:

Sicherung einer sicheren MongoDB-Instanz

Wenn wir uns mit einer MongoDB-Instanz mit Zugriffskontrolle verbinden wollen, müssen wir bereitstellen:

  • Benutzername
  • Passwort
  • Authentifizierungsdatenbankoptionen

Authentifizierungssyntax

    mongodump --authenticationDatabase= -u= -p= [additional options

Schauen wir uns an, wie wir uns mit einem Benutzernamen und Passwort mit einer entfernten MongoDB-Instanz verbinden können.

    mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword"

Ergebnis:

Auswahl von Datenbanken und Sammlungen

Mit den Optionen –db und –Collection können wir eine Datenbank und eine zu sichernde Sammlung angeben. Die –db-Option kann eine eigenständige Option sein, aber um eine Sammlung auszuwählen, muss eine Datenbank angegeben werden. Um eine Sammlung vom Backup-Prozess zu befreien, können wir die –excludeCollection verwenden. Auswahl einer Datenbank:

    mongodump  --db=

Auswahl einer Sammlung:

    mongodump  --db= --collection=

Ausgenommen eine Sammlung:

    mongodump  --db= --excludeCollection=

Im folgenden Beispiel definieren wir die "Fahrzeuginformations"-Sammlung als das einzige Backup-Ziel.

    mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --db=vehicles --collection=vehicleinformation

Ergebnis:

Änderung des Backup-Verzeichnisses

Die –out-Option kann verwendet werden, um den Standort des Backup-Ordners anzugeben.

    mongodump --out=

Lassen Sie uns das Backup-Verzeichnis in den Ordner "dbbackup" wechseln.

    mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --out=dbbackup

Ergebnis:

Erstellung einer Archivdatei

Das Mongodump-Dienstprogramm ermöglicht es uns, eine Archivdatei zu erstellen. Die –archive-Option kann verwendet werden, um die Datei anzugeben. Wenn keine Datei angegeben ist, wird die Ausgabe als Standardausgabe (stdout) geschrieben. Die –archive-Option kann nicht zusammen mit der –out-Option verwendet werden.

    mongodump --archive=

Das folgende Beispiel zeigt, wie wir eine Archivdatei definieren können.

    mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --archive=db.archive

Ergebnis:

Komprimierung des Backups

Die Sicherungsdateien können mit der –gzip-Option komprimiert werden. Diese Option komprimiert die einzelnen JSON- und BSON-Dateien.

    mongodump --gzip [additional options]

Lassen Sie uns die vollständige MongoDB-Datenbank komprimieren.

    mongodump --host=10.10.10.59 --port=27017 --authenticationDatabase="admin" -u="barryadmin" -p="testpassword" --gzip

Ergebnis:

In diesem Artikel haben wir die wesentlichen Schritte zur Nutzung von MongoDBs mongodump zur Erstellung und Verwaltung von Datenbank-Backups behandelt. Indem Sie den bereitgestellten Anweisungen folgen, verfügen Sie nun über die Werkzeuge, um Ihre mongodump-Datenbank-Backup-Bedürfnisse effizient zu bewältigen.

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus Orchestrierung

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.