MongoDB: Erste Schritte
Wie man mit MongoDB beginnt
Verbindung zu Ihrem MongoDB-Server
Um eine Verbindung zu Ihrer MongoDB-Instanz mit dem Mongo CLI herzustellen, können Sie diesen Befehl verwenden:
mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true
Wenn Sie sich beispielsweise als admin-Benutzer mit der admin-Datenbank verbinden möchten, könnten Sie folgenden Befehl ausführen:
mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true
Falls das Mongo CLI nicht auf Ihrem System installiert ist, können Sie es von der offiziellen MongoDB-Dokumentation herunterladen. Alternativ, wenn Docker auf Ihrem System verfügbar ist, könnte dieser Befehl hilfreich sein:
docker run -it mongo /bin/bash
Erstellen von Datenbanken und Benutzern in MongoDB
Um die Sicherheit zu verbessern und eine bessere Organisation zu gewährleisten, ist es ratsam, für jede Datenbank eindeutige Benutzer zu erstellen. Hier ist ein Beispielskript zum Erstellen eines neuen Benutzers:
db.getSiblingDB("myDatabase")
.createUser({
user: "myUser",
pwd: "myPassword",
roles: [ { role: "readWrite", db: "myDatabase" } ],
passwordDigestor: "server"
});
Das obige Skript erstellt einen Benutzer namens myUser mit dem Passwort myPassword und gewährt ihm Lese- und Schreibrechte für die myDatabase-Datenbank.
Stellen Sie sicher, dass Sie als
admin-Benutzer verbunden sind, wenn Sie Benutzererstellungsoperationen durchführen.
Entfernen eines Benutzers in MongoDB
Um einen Benutzer, wie myUser, aus der myDatabase-Datenbank zu entfernen, können Sie den folgenden Befehl ausführen:
db.getSiblingDB("myDatabase").dropUser("myUser");
Sicherung von MongoDB-Daten
Um Ihre MongoDB-Daten zu sichern, können Sie den folgenden Befehl verwenden:
mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Wenn Sie auf einen Fehler wie diesen stoßen:
authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>
Dies könnte daran liegen, dass der admin-Benutzer nicht für die angegebene Datenbank registriert ist. Das Hinzufügen der Option --authenticationDatabase=admin könnte das Problem lösen:
mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Für eine komprimierte Sicherung können Sie die Option --gzip hinzufügen:
mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Fehlerbehebung
Behebung des Fehlers Use of SCRAM-SHA-256 requires undigested passwords
Dieser Fehler kann auftreten, wenn versucht wird, einen Benutzer über die Admin Mongo UI zu erstellen. Um dies zu vermeiden, verwenden Sie die in der Erstellen von Datenbanken und Benutzern in MongoDB bereitgestellte Mongo-Abfrage.
Hinweis: Die Admin Mongo UI unterstützt keine direkte Abfrageausführung. Stattdessen könnten Sie in Erwägung ziehen, das Mongo CLI (mehr erfahren) oder ein GUI-Tool wie Robo 3T (Konfigurationsanleitung anzeigen) zu verwenden.