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 .
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:
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.
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.
In der folgenden Abbildung sehen wir, wie wir ein Backup von der Konsole erstellen können:
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:
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:
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.
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:
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.
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.
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:
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:
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.
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.
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.