Wesentliche MongoDB-Administrationsbefehle für Anfänger

Meistern Sie die wesentlichen Administrationsbefehle für MongoDB mithilfe der `mongosh`-Shell. Dieser Leitfaden behandelt grundlegende Aufgaben für Anfänger, darunter den Datenbankwechsel, die Erstellung und Löschung von Collections, die Benutzerverwaltung mit Rollen sowie wichtige Systemzustandsprüfungen wie `serverStatus`. Erlernen Sie die grundlegenden Befehle, die Sie benötigen, um Ihre NoSQL-Umgebung sicher zu verwalten.

35 Aufrufe

Wesentliche MongoDB-Administrationsbefehle für Anfänger

MongoDB, eine führende NoSQL-Dokumentendatenbank, ist bekannt für ihre Flexibilität und Skalierbarkeit. Während Entwickler sich oft auf CRUD-Operationen (Create, Read, Update, Delete) konzentrieren, beruht eine effektive Verwaltung der Datenbankumgebung stark auf dem Verständnis wesentlicher Administrationsbefehle. Dieser Leitfaden führt Anfänger in die Kernbefehle ein, die für die Datenbankverwaltung, Benutzeradministration und Systemzustandsprüfungen unerlässlich sind, um sicherzustellen, dass Ihre MongoDB-Instanz reibungslos und sicher läuft.

Die Beherrschung dieser administrativen Aufgaben ist entscheidend für jeden, der über die einfache lokale Entwicklung hinaus in Produktionsumgebungen arbeitet. Wir werden untersuchen, wie Sie mit der mongosh-Shell interagieren, um Datenbanken, Sammlungen und Benutzer zu verwalten und notwendige Systemdiagnosen durchzuführen.


Zugriff auf die MongoDB-Shell (mongosh)

Die primäre Schnittstelle zur Ausführung von Administrationsbefehlen ist die MongoDB-Shell, auf die typischerweise über den Befehl mongosh zugegriffen wird. Hier führen Sie JavaScript-basierte Befehle direkt gegen Ihre MongoDB-Instanz aus.

Um sich mit einer lokalen MongoDB-Instanz zu verbinden, die auf dem Standardport (27017) läuft, geben Sie einfach ein:

mongosh

Sobald Sie verbunden sind, sehen Sie die Eingabeaufforderung >, die anzeigt, dass Sie bereit sind, Befehle einzugeben.

Datenbankverwaltungsbefehle

Die Verwaltung der aktuell verwendeten Datenbank und die Anzeige vorhandener Datenbanken sind grundlegende administrative Aufgaben.

Auflisten aller Datenbanken

Um eine Liste aller auf dem MongoDB-Server vorhandenen Datenbanken anzuzeigen, verwenden Sie den Befehl show dbs:

> show dbs
admin    40.00 KiB
config   72.00 KiB
local    72.00 KiB
myAppDB 100.00 KiB

Wechseln von Datenbanken

Bevor Sie eine Datenbank oder Sammlung erstellen können, müssen Sie mit dem Befehl use zum gewünschten Kontext wechseln. Wenn die Datenbank nicht existiert, erstellt MongoDB sie implizit bei der ersten Dateneinfügung.

> use myAppDB
switched to db myAppDB

Anzeigen der aktuellen Datenbank

Um zu bestätigen, in welchem Datenbankkontext Sie sich derzeit befinden, verwenden Sie db:

> db
myAppDB

Löschen einer Datenbank

Warnung: Diese Aktion löscht dauerhaft alle Daten in der angegebenen Datenbank. Seien Sie äußerst vorsichtig, insbesondere in Produktionsumgebungen.

Um die aktuelle Datenbank (die von db zurückgegebene) zu löschen:

> db.dropDatabase()
{ "dropped" : "myAppDB", "ok" : 1 }

Sammlungsverwaltungsbefehle

Sammlungen sind vergleichbar mit Tabellen in relationalen Datenbanken. Ihre Verwaltung ist mit der db-Objektabkürzung unkompliziert.

Auflisten von Sammlungen

Wenn Sie sich in einer bestimmten Datenbank befinden, listen Sie alle Sammlungen darin mit show collections (oder der älteren Entsprechung db.getCollectionNames()) auf:

> show collections
users
products
orders

Erstellen von Sammlungen

Sammlungen werden oft automatisch bei der ersten Einfügung erstellt. Sie können jedoch explizit eine mit db.createCollection() erstellen, um die Validierungsregeln oder das Capping zu steuern.

// Erstellen einer Standard-Sammlung namens 'logs'
> db.createCollection("logs")
{ "ok" : 1 }

Löschen einer Sammlung

Um eine Sammlung vollständig zu entfernen:

> db.logs.drop()
true

Benutzer- und Sicherheitsadministration

Für jede für die Produktion vorgesehene Datenbank ist die Sicherung des Zugriffs durch Benutzerauthentifizierung zwingend erforderlich. Die Benutzerverwaltung wird typischerweise innerhalb der admin-Datenbank oder der spezifischen Datenbank durchgeführt, in der der Benutzer Berechtigungen haben soll.

Wechseln zur Admin-Datenbank zur Benutzererstellung

Es ist üblich, administrative Benutzer in der admin-Datenbank zu erstellen, obwohl rollenbasierte Benutzer in Anwendungsdatenbanken erstellt werden können.

> use admin
switched to db admin

Erstellen eines Benutzers

Verwenden Sie db.createUser(), um einen neuen Benutzer hinzuzufügen. Dies erfordert die Angabe des Benutzernamens, eines sicheren Passworts und zugewiesener Rollen.

> db.createUser(
...   {
...     user: "appAdmin",
...     pwd: passwordPrompt(), // Fordert sicher zur Eingabe des Passworts auf
...     roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWrite" ]
...   }
... )
  • Tipp: Die Verwendung von passwordPrompt() wird dringend empfohlen, anstatt Klartext-Passwörter in Skripten einzubetten.

Auflisten von Benutzern

Um vorhandene Benutzer in der aktuellen Datenbank anzuzeigen:

> show users

Systemüberwachung und Diagnose

Administratoren benötigen Möglichkeiten, den Zustand, Status und die Konfiguration der laufenden MongoDB-Instanz zu überprüfen.

Überprüfen des Serverstatus

Der Befehl serverStatus gibt ein umfassendes Dokument zurück, das Statistiken über den Betrieb des Servers enthält, einschließlich Speichernutzung, Verbindungen und Operationen.

> db.serverStatus()
// Die Ausgabe ist ein großes JSON-Dokument mit Metriken.

Anzeigen aktueller Verbindungen

Um aktive Client-Verbindungen anzuzeigen, können Sie den Befehl currentOp abfragen oder den Abschnitt connections in der Ausgabe von serverStatus einsehen. Eine direkte Möglichkeit zur Anzeige aktueller Operationen ist:

> db.currentOp()

Überprüfen der Konfiguration

Um die aktuell auf die Instanz angewendeten Konfigurationseinstellungen anzuzeigen:

> db.getMongo().getDB('admin').runCommand({ getParameter: 1, all: 1 })

Zusammenfassung und nächste Schritte

Diese wesentlichen Befehle – die das Wechseln von Datenbanken, die Sammlungsverwaltung, die Benutzererstellung und grundlegende Überwachung abdecken – bilden die Grundlage für eine effektive MongoDB-Administration. Während mongosh sofortiges Feedback liefert, erfordert erweiterte Überwachung oft die Integration mit MongoDB Compass oder die Verwendung der MongoDB Atlas-Oberfläche für visuelle Diagnosen.

Bewährte Vorgehensweise: Verbinden Sie sich immer mit Anmeldedaten und beschränken Sie Benutzerrollen auf die minimal erforderlichen Berechtigungen (Prinzip der geringsten Privilegien).

Üben Sie diese Befehle zunächst in einer Nicht-Produktionsumgebung, um Vertrauen aufzubauen, bevor Sie kritische Datenspeicher verwalten.