MongoDB ist eine freie und quelloffene Dokumentendatenbank. Sie gehört zu einer Familie von Datenbanken, die NoSQL genannt wird und sich von den traditionellen tabellenbasierten SQL-Datenbanken wie MySQL und PostgreSQL unterscheidet.
In MongoDB werden Daten in flexiblen, JSON-ähnlichen Dokumenten gespeichert, deren Felder von Dokument zu Dokument variieren können. Es benötigt kein vordefiniertes Schema, und die Datenstruktur kann im Laufe der Zeit geändert werden.
In diesem Tutorial werden wir den Prozess der Installation und Konfiguration der neuesten Version von MongoDB Community Edition auf einem Ubuntu 18.04-Rechner aus den offiziellen MongoDB-Repositories behandeln.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, stellen Sie sicher, dass Sie als Benutzer mit sudo-Rechten angemeldet sind.
Installation von MongoDB #
Zum Zeitpunkt des Verfassens dieses Artikels ist die neueste Version von MongoDB die Version 4.0.
Bevor Sie mit dem Installationsprozess fortfahren, gehen Sie zum Abschnitt Install on Ubuntusection der MongoDB-Dokumentation und überprüfen Sie, ob eine neue Version verfügbar ist.
Die folgenden Schritte beschreiben, wie Sie MongoDB auf Ihrem Ubuntu-Server installieren:
-
Hängen Sie den MongoDB-GPG-Schlüssel mit dem folgenden Befehl an Ihr System an:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Wenn der Schlüssel importiert ist, fügen Sie das MongoDB-Repository mit hinzu:
sudo add-apt-repository 'deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Wenn Sie die Fehlermeldung
add-apt-repository command not found
erhalten, installieren Sie das Paketsoftware-properties-common
.Um eine ältere Version von MongoDB zu installieren, ersetzen Sie
4.0
durch Ihre bevorzugte Version. -
Aktualisieren Sie die Paketliste und installieren Sie das
mongodb-org
-Metapaket durch Eingabe von:sudo apt update
sudo apt install mongodb-org
Die folgenden Pakete werden als Teil des
mongodb-org
-Pakets auf Ihrem System installiert:-
mongodb-org-server
– Dermongod
-Daemon und die entsprechenden Init-Skripte und Konfigurationen. -
mongodb-org-mongos
– Dermongos
-Daemon. -
mongodb-org-shell
– Die Mongo Shell ist eine interaktive JavaScript-Schnittstelle zu MongoDB. Sie wird verwendet, um administrative Aufgaben über die Befehlszeile auszuführen. -
mongodb-org-tools
– Enthält mehrere MongoDB-Tools zum Importieren und Exportieren von Daten, Statistiken sowie andere Dienstprogramme.
-
-
Nach Abschluss der Installation starten Sie den MongoDB-Daemon und aktivieren Sie ihn für den Start beim Booten, indem Sie Folgendes eingeben:
sudo systemctl start mongod
sudo systemctl enable mongod
-
Um zu überprüfen, ob die Installation erfolgreich abgeschlossen wurde, stellen wir mit dem Tool
mongo
eine Verbindung zum MongoDB-Datenbankserver her und geben den Verbindungsstatus aus:mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Die Ausgabe sieht wie folgt aus:
MongoDB shell version v4.0.10connecting to: mongodb://127.0.0.1:27017MongoDB server version: 4.0.10{ "authInfo" : { "authenticatedUsers" : , "authenticatedUserRoles" : }, "ok" : 1}
Ein Wert von
1
für das Feldok
bedeutet Erfolg.
Konfiguration von MongoDB #
MongoDB verwendet eine YAML-formatierte Konfigurationsdatei, /etc/mongod.conf
. Sie können Ihre MongoDB-Instanz konfigurieren, indem Sie diese Datei bearbeiten.
Die Standardkonfigurationseinstellungen sind für die meisten Benutzer ausreichend. Für Produktionsumgebungen wird jedoch empfohlen, den Sicherheitsabschnitt zu deaktivieren und die Autorisierung zu aktivieren, wie unten gezeigt:
security: authorization: enabled
Die Option authorization
aktiviert die rollenbasierte Zugriffskontrolle (RBAC), die den Zugriff der Benutzer auf Datenbankressourcen und -operationen regelt. Wenn diese Option deaktiviert ist, hat jeder Benutzer Zugriff auf alle Datenbanken und kann jede Aktion ausführen.
Nachdem Sie Änderungen an der MongoDB-Konfigurationsdatei vorgenommen haben, starten Sie den mongod-Dienst neu mit:
sudo systemctl restart mongod
Weitere Informationen zu den Konfigurationsoptionen, die in MongoDB 4.0 verfügbar sind, finden Sie auf der Dokumentationsseite Konfigurationsdateioptionen.
Administrativen MongoDB-Benutzer erstellen #
Wenn Sie die MongoDB-Authentifizierung aktiviert haben, erstellen Sie einen administrativen MongoDB-Benutzer, der für den Zugriff und die Verwaltung der MongoDB-Instanz verwendet wird.
Zuerst rufen Sie die Mongo-Shell auf mit:
mongo
Wenn Sie sich in der MongoDB-Shell befinden, geben Sie den folgenden Befehl ein, um sich mit der admin
-Datenbank zu verbinden:
use admin
switched to db admin
Geben Sie den folgenden Befehl ein, um einen neuen Benutzer namens mongoAdmin
mit der Rolle userAdminAnyDatabase
zu erstellen:
db.createUser( { user: "mongoAdmin", pwd: "changeMe", roles: })
Successfully added user: {"user" : "mongoAdmin","roles" : }
Beenden Sie die Mongo-Shell mit:
quit()
Um die Änderungen zu testen, greifen Sie auf die Mongo-Shell mit dem administrativen Benutzer zu, den Sie zuvor erstellt haben:
mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin
Nun drucken Sie die Benutzer mit:
show users
{"_id" : "admin.mongoAdmin","user" : "mongoAdmin","db" : "admin","roles" : ,"mechanisms" : }
Sie können auch versuchen, die Mongo-Shell ohne Argumente aufzurufen (geben Sie einfach mongo
ein) und sehen Sie, ob Sie die Benutzer mit denselben Befehlen wie oben auflisten können.
Abschluss #
Sie haben gelernt, wie Sie MongoDB 4.0 auf Ihrem Ubuntu 18.04-Server installieren und konfigurieren. Besuchen Sie das MongoDB 4.0 Handbuch für weitere Informationen zu diesem Thema.