MongoDB Administrationsanleitung

MongoDB ist ein Service wie jeder andere, den wir auf unserem Server haben können. Daher müssen wir über grundlegende Kenntnisse verfügen, wie er sich verhält, was zu tun ist, wenn er gestoppt werden muss, worauf zu achten ist, wenn seine Konfiguration geändert werden muss, und sogar wie Sicherungen erfolgreich durchgeführt werden können.

Auch wenn sich viele darauf konzentrieren, zu verstehen, wie Anwendungen erstellt werden, wie die Leistung der Kombination aus Programmierung und Datenbankmodul optimal genutzt werden kann . Sehr wenige nehmen sich die Zeit, um wirklich zu verstehen, wie der Dienst verwaltet wird. Normalerweise überlassen wir die volle Last dem SysAdmin und obwohl dieser wissen muss, wie er mit dem Service umgeht , sollten wir in kleineren Strukturen vielleicht selbst Hand anlegen .

Anforderungen
Um dieses Tutorial zu vervollständigen, müssen wir eine Instanz von MongoDB in unserem Team installiert haben, in der wir die Übungen durchführen werden. Außerdem müssen wir über ausreichende Berechtigungen verfügen, um die Konsole zu betreten und Befehle darin ausführen zu können. Schließlich benötigen wir Berechtigungen, um auf die Festplatte zu schreiben der Fall der Ausarbeitung von Backups.

Die MongoDB-Konsole

Die MongoDB- Konsole ist das erste Tool, das uns zur Verfügung steht, um mit dem Service interagieren zu können. Es basiert auf JavaScript, sodass wir viele Befehle einbinden können, die in dieser Programmiersprache funktionieren.

Unbekannt ist, dass wir JavaScript- Programme erstellen und in Dateien speichern und diese dann direkt über die MongoDB- Konsole ausführen können. Dies kann uns dabei helfen, eine große Anzahl von Befehlen auszuführen, die sich möglicherweise wiederholen und die wir nicht schreiben möchten und immer wieder, wenn wir sie brauchen.

Um eine Datei einfach beim Starten der Konsole auszuführen, fügen wir den Namen der Datei hinzu. Dabei wird sie ausgeführt und nach der Ausführung unserer Konsole geschlossen. Sehen wir uns ein kleines Beispiel an:

guia-admin-mongodb.jpg

Hier sehen wir, wie wir eine Datei an die MongoDB- Konsole übergeben haben und diese ohne Probleme ausgeführt wurde. Natürlich war unser Inhalt nicht relevant, aber es war einfach JavaScript- Code und es wird gezeigt, wie das angegebene Verhalten erfüllt ist.

See also  UML - Verteilungsdiagramm

Erstellen Sie eine Sicherungskopie aller unserer Datenbanken

Mit diesem ersten Tool, mit dem wir arbeiten werden, können wir die Erstellung von Sicherungen für unsere Datenbanken verwalten . Auf diese Weise können wir unsere Agenda zur Sicherung der Daten erfüllen, die wir bereits über die verschiedenen Anwendungen gesammelt haben, die unseren Service nutzen MongoDB .

Um dieses Ziel zu erreichen, haben wir den Befehl mongodump, der die angegebene Funktion erfüllt. Wir müssen lediglich ein Verzeichnis erstellen, in dem sich unsere Sicherung befindet, und diesen Befehl dort ausführen.

Verhalten in Windows
In solchen Windows- Umgebungen, in denen wir das Lernprogramm ausführen, müssen wir den Pfad angeben, in dem sich das Dienstprogramm mongodump befindet. In der Regel ist dies der gleiche Pfad, von dem aus wir auf die Konsole zugreifen. In anderen Umgebungen wie Linux ist der Befehl jedoch systemweit verfügbar, sodass die Angabe der Route nicht erforderlich ist.

In der folgenden Abbildung sehen wir, wie wir ein Backup von der Konsole erstellen können:

guide-admin-mongodb-2.jpg

Wir stellen fest, dass das Sicherungsdienstprogramm nach seiner Ausführung die Datenbanken und ihre jeweiligen Sammlungen durchläuft. Am Ende erhalten wir einen Ordner mit dem Namen dump und in jedem Ordner eine der vorhandenen Sammlungen in dem Verzeichnis, aus dem es ausgeführt wurde, wie wir in sehen können das Bild unten:

guia-admin-mongodb-3.jpg

Verwenden Sie die Sicherung

Da wir die Sicherung haben, um damit unsere Datenbanken wiederherzustellen, müssen wir nur den vorherigen Vorgang wiederholen, aber anstatt den Befehl mongodump zu verwenden , werden wir mongorestore mit dem Argument –drop verwenden. Auf diese Weise können wir die Daten wiederherstellen, die wir bis zum hatten Moment, in dem das Backup erstellt wurde. Mal sehen, wie dieser Vorgang in der Konsole aussieht:

guia-admin-mongodb-4.jpg

Wenn wir das Argument –drop am Ende von mongorestore nicht verwendet hätten, wäre passiert, dass die Sicherungsinformationen am Ende der vorhandenen Sammlungen hinzugefügt wurden, wodurch Dateninkonsistenzen erzeugt wurden, wenn unsere Datenbank vorhanden war und wir sie nur in einem Zustand wiederherstellen wollten Zuvor wurde mit dem Argument ausgeführt, MongoDB zu zwingen , jede Sammlung zu löschen, bevor sie aus der Sicherung wiederhergestellt wird.

See also  Backbone.js - Paginator

Stellen Sie insbesondere nur eine Sammlung wieder her

Bisher waren die Beispiele für eine massive Datensicherung, aber was passiert, wenn wir den Dienst mit mehr Anwendungen teilen und nur eine bestimmte Sammlung unterstützen möchten, da es möglich ist, einfach einige Argumente zu verwenden, mit denen wir nur die erforderlichen Daten erhalten .

Das Argument der Wahl für die Datenbank ist -d und dann für die Sammlung -c . Sehen wir uns an, wie wir dies von einer Ausführung in unserer Testkonsole aus tun können:

guide-admin-mongodb-5.jpg

Wie wir sehen konnten, zeigt die Konsole eine viel kürzere Meldung an, und wenn wir den resultierenden Sicherungsordner überprüfen, werden wir feststellen, dass wir weniger Informationen haben als zuvor generiert.

guide-admin-mongodb-6.jpg

Hier müssen wir etwas Wichtiges hervorheben, der Befehl mongodump ist nicht destruktiv , dh er löscht nicht die Daten im Zielverzeichnis. Er überschreibt nur, wenn er eine Datei mit demselben Namen findet wie die, die Sie schreiben. In diesem letzten Bild sehen wir weniger Dateien als im vorherigen Beispiel, da wir die im genannten Beispiel erhaltene Sicherung gelöscht haben.

Stellen Sie eine einzelne Datenbank wieder her
Um eine einzelne Datenbank und Sammlung wiederherzustellen, können wir mongorestore erneut verwenden. Wie bei mongodump übergeben wir die Argumente -d und -c , um beide wiederherzustellen. Auf diese Weise können wir genau auswählen, was wiederhergestellt werden soll, und müssen daher nicht leiden Datenverlust, den wir nicht wiederherstellen müssen.

Hilfe holen

Was wir bisher gesehen haben, ist nur ein kleiner Ausschnitt dieser Sicherungs- und Wiederherstellungsbefehle, weshalb diese Befehle uns ein Dienstprogramm bieten, mit dem wir wissen, welche anderen Argumente wir verwenden können, und auch eine kleine Erklärung dessen, was sie sagen. Argumente, dazu fügen wir einfach –help hinzu und damit haben wir die Liste der verfügbaren Argumente für den Befehl:

guia-admin-mongodb-7.jpg

Wir können dies für jedes der Werkzeuge oder Befehle tun, die wir in MongoDB zur Verfügung haben.

Beenden Sie den Dienst

Wenn wir den MongoDB- Dienstprozess sicher beenden möchten, damit wir keine Daten verlieren und keinen abrupten Exit ausführen, können wir einen Administratorbefehl verwenden, der {“shutdown”: 1} lautet und wie wir sehen, a JSON , dies muss in der Konsole und auch innerhalb des Datenbankadministrators ausgeführt werden . Dazu verwenden wir die interne Funktion db.shutdownServer () und erhalten die Serviceabwicklung wie folgt:

See also  Beheben Sie den DNS PROBE FINISHED NXDOMAIN-Fehler in Chrome

guia-admin-mongodb-8.jpg
Wenn wir den Dienst beenden, gibt die MongoDB- Konsole beim Versuch, eine Verbindung zum Server herzustellen, einen Fehler aus. Deshalb sehen wir im Fenster rechts, wie wir einige Fehler erhalten.

Grafische Verwaltung

Wenn wir ein anschaulicheres Bild benötigen, um die Informationen unseres MongoDB- Dienstes zu kennen, können wir es mit Unterstützung für REST starten. Zum Zeitpunkt des Starts des Dienstes mit mongod übergeben wir es als Argument. -rest und damit wird standardmäßig eine kleine HTTP- Schnittstelle in den Port 28017 eingebaut.

Normalerweise werden 1000 Ports später als der Service-Port gestartet. Wenn wir also einen anderen Port konfiguriert haben, wissen wir bereits, was wir tun müssen, um auf die Konsole zugreifen zu können.

guia-admin-mongodb-9.jpg
Wenn wir auf jeden der Links zugreifen, sehen wir, dass wir JSON- Dateien mit den angebotenen Informationen erhalten, wie beispielsweise der Liste der Datenbanken oder dem Status des Servers.

Nachteile
Dieses Tool ist nicht das optimalste, bietet jedoch eine kleine Hilfe für den Fall, dass die Konsole nicht von uns stammt oder wir ein eigenes Tool erstellen, das über REST mit unserem Service verbunden werden muss.

Damit beenden wir dieses Tutorial. Wir haben bereits ein grundlegendes, aber sehr wertvolles Wissen erworben, da wir unsere eigenen Backups erstellen, den Service im Falle eines Problems beenden und ein Backup in unserer Datenbank von wiederherstellen können Daten Wenn wir als Entwickler die administrativen Aspekte unserer Dienste berücksichtigen, werden wir wahrscheinlich bessere Anwendungen erstellen, weil wir bereits wissen, wie sie funktionieren, und weniger von einem Sysadmin abhängig sind, was zumindest grundlegende Elemente betrifft , die uns helfen, bessere Arbeitspositionen zu erreichen indem wir unsere Anwendungen schneller entwickeln und unsere eigenen Probleme lösen.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *