MongoDB ist eine kostenlose Open-Source-Dokumentendatenbank. Sie gehört zu einer Familie von Datenbanken namens NoSQL, die sich von den traditionellen tabellenbasierten SQL-Datenbanken wie MySQL und PostgreSQL unterscheidet.
In MongoDB werden Daten in flexiblen, JSON-ähnlichen Dokumenten gespeichert, in denen die Felder von Dokument zu Dokument variieren können. Es erfordert kein vordefiniertes Schema und die Datenstruktur kann im Laufe der Zeit geändert werden.
Dieses Tutorial beschreibt die Installation und Konfiguration der MongoDB Community Edition unter Ubuntu 20.04.
Die Standard-Ubuntu-Repositorys enthalten eine veraltete MongoDB-Version. Die Installation der neuesten MongoDB auf Ubuntu ist ziemlich einfach. Wir aktivieren das MongoDB-Repository, importieren den GPG-Schlüssel des Repositorys und installieren den MongoDB-Server.
Installieren von MongoDB auf Ubuntu 20.04 #
Führen Sie die folgenden Schritte als Root oder Benutzer mit sudo-Berechtigungen aus, um MongoDB auf Ubuntu zu installieren:
-
Installieren Sie die Abhängigkeiten, die zum Hinzufügen eines neuen Repositorys über HTTPS erforderlich sind:
sudo apt update
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
-
Importieren Sie den GPG-Schlüssel des Repositorys und fügen Sie das MongoDB-Repository hinzu mit:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse'
Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste Version von MongoDB Version 4.4. Um eine andere Version zu installieren, ersetzen Sie
4.4
mit Ihrer bevorzugten Version. -
Sobald das Repository aktiviert ist, installieren Sie
mongodb-org
Metapaket durch Eingabe von:sudo apt install mongodb-org
Die folgenden Pakete werden auf Ihrem System installiert:
mongodb-org-server
- Dermongod
Daemon und entsprechende Init-Skripte und Konfigurationen.mongodb-org-mongos
- Diemongos
Dämon.mongodb-org-shell
- Die Mongo-Shell, eine interaktive JavaScript-Schnittstelle zu MongoDB. Es 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.
-
Starten Sie den MongoDB-Daemon und ermöglichen Sie ihm, beim Booten zu starten, indem Sie Folgendes eingeben:
sudo systemctl enable --now mongod
-
Um zu überprüfen, ob die Installation erfolgreich abgeschlossen wurde, stellen Sie mit
mongo
eine Verbindung zum MongoDB-Datenbankserver her Tool und drucken Sie den Verbindungsstatus aus:mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Die Ausgabe sieht in etwa so aus:
MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("2af3ab0e-2197-4152-8bd0-e33efffe1464") } MongoDB server version: 4.4.0 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Ein Wert von
1
für dasok
Feld zeigt Erfolg an.
Konfiguriere MongoDB #
Die MongoDB-Konfigurationsdatei heißt mongod.conf
und befindet sich im /etc
Verzeichnis. Die Datei ist im YAML-Format.
Die Standardkonfigurationseinstellungen sind in den meisten Fällen ausreichend. Für Produktionsumgebungen empfehlen wir jedoch, den Sicherheitsabschnitt zu entkommentieren und die Autorisierung zu aktivieren, wie unten gezeigt:
sudo nano /etc/mongod.conf
/etc/mongod.confsecurity:
authorization: enabled
Die authorization
Option aktiviert die rollenbasierte Zugriffskontrolle (RBAC), die den Benutzerzugriff auf Datenbankressourcen und -vorgänge regelt. Wenn diese Option deaktiviert ist, hat jeder Benutzer Zugriff auf alle Datenbanken und kann beliebige Aktionen ausführen.
Starten Sie beim Bearbeiten der MongoDB-Konfigurationsdatei den MongoDB-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart mongod
Weitere Informationen zu den in MongoDB 4.4 verfügbaren Konfigurationsoptionen finden Sie auf der Dokumentationsseite Konfigurationsdateioptionen.
Erstellen des administrativen MongoDB-Benutzers Nr.
Wenn Sie die MongoDB-Authentifizierung aktiviert haben, müssen Sie einen administrativen Benutzer erstellen, der auf die MongoDB-Instanz zugreifen und diese verwalten kann.
Greifen Sie auf die Mongo-Shell zu:
mongo
Geben Sie in der MongoDB-Shell den folgenden Befehl ein, um eine Verbindung zum admin
herzustellen Datenbank:
use admin
switched to db admin
Führen Sie den folgenden Befehl aus, um einen neuen Benutzer namens mongoAdmin
zu erstellen , mit dem Passwort changeMe
und userAdminAnyDatabase
Rolle:
db.createUser(
{
user: "mongoAdmin",
pwd: "changeMe",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Vergessen Sie nicht, ein sichereres Passwort festzulegen. Sie können den administrativen MongoDB-Benutzer nach Belieben benennen. Wenn Sie fertig sind, verlassen Sie die Mongo-Shell mit:
quit()
Um die Änderungen zu testen, greifen Sie mit dem Administratorbenutzer, den Sie zuvor erstellt haben, auf die Mongo-Shell zu:
mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin
Führen Sie show users
aus und Sie sollten Informationen über den neu erstellten Benutzer sehen:
show users
{
"_id" : "admin.mongoAdmin",
"userId" : UUID("49617e41-ea3b-4fea-96d4-bea10bf87f61"),
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
Sie können auch versuchen, ohne Argumente auf die Mongo-Shell zuzugreifen (geben Sie einfach mongo
ein ) und prüfen Sie, ob Sie die Benutzer mit denselben Befehlen wie oben auflisten können.