Manager, Developer Education
Eine frühere Version dieser Anleitung wurde von Melissa Anderson verfasst.
MongoDB, auch als Mongo bekannt, ist eine Open-Source-Dokumentendatenbank, die in vielen modernen Webanwendungen verwendet wird. Sie ist als NoSQL-Datenbank klassifiziert, weil sie sich nicht auf eine traditionelle tabellenbasierte relationale Datenbankstruktur stützt.
Stattdessen verwendet sie JSON-ähnliche Dokumente mit dynamischen Schemas. Das bedeutet, dass MongoDB im Gegensatz zu relationalen Datenbanken kein vordefiniertes Schema benötigt, bevor Sie einer Datenbank Daten hinzufügen. Sie können das Schema jederzeit und so oft wie nötig verändern, ohne eine neue Datenbank mit einem aktualisierten Schema einrichten zu müssen.
In dieser Anleitung installieren Sie MongoDB auf einem Ubuntu 20.04-Server, testen die Datenbank und erfahren, wie Sie sie als systemd
-Dienst verwalten können.
Um dieser Anleitung zu folgen, benötigen Sie:
Die offiziellen Paket-Repositorys von Ubuntu enthalten eine stabile Version von MongoDB. Zum Zeitpunkt des Schreibens dieser Anleitung ist die aus den Standard-Ubuntu-Repositorys verfügbare Version von MongoDB 3.6 und die neueste stabile Version 4.4.
Um die aktuellste Version dieser Software zu erhalten, müssen Sie das dedizierte Paket-Repository von MongoDB in Ihre APT-Quellen einfügen. Dann können Sie mongodb-org
installieren, ein Meta-Paket, das immer auf die neueste Version von MongoDB verweist.
Importieren Sie zunächst den öffentlichen GPG-Schlüssel für die neueste stabile Version von MongoDB. Sie können die entsprechende Schlüsseldatei finden, indem Sie zum MongoDB-Schlüsselserver navigieren und die Datei finden, die die neueste stabile Versionsnummer enthält und in .asc
endet. Wenn Sie beispielsweise Version 4.4 von MongoDB installieren möchten, suchen Sie nach der Datei namens server-4.4.asc.
Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Linkadresse kopieren. Fügen Sie dann diesen Link in den folgenden curl
-Befehl ein, indem Sie die hervorgehobene URL ersetzen:
- curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
cURL ist ein in vielen Betriebssystemen verfügbares Befehlszeilentool, das zur Datenübertragung verwendet wird. Es liest alle Daten, die unter der übermittelten URL gespeichert sind, und gibt den Inhalt an die Ausgabe des Systems aus. Im folgenden Beispiel gibt cURL den Inhalt der GPG-Schlüsseldatei aus und leitet ihn dann in den folgenden sudo apt-key add -
-Befehl. Dadurch wird der GPG-Schlüssel Ihrer Liste vertrauenswürdiger Schlüssel hinzugefügt.
Beachten Sie auch, dass dieser curl
-Befehl die Optionen -fsSL
enthält, die zusammen cURL im Wesentlichen anweisen, ohne Fehlermeldung fehlzuschlagen. Das bedeutet: Wenn cURL aus irgendeinem Grund nicht in der Lage ist, den GPG-Server zu kontaktieren, oder der GPG-Server nicht ausgeführt wird, wird der resultierende Fehlercode nicht versehentlich Ihrer Liste vertrauenswürdiger Schlüssel hinzugefügt.
Wenn der Schlüssel erfolgreich hinzugefügt wurde, gibt dieser Befehl OK
aus:
OutputOK
Wenn Sie nochmals überprüfen möchten, ob der Schlüssel korrekt hinzugefügt wurde, können Sie dies mit dem folgenden Befehl tun:
- apt-key list
Dadurch wird der MongoDB-Schlüssel an irgendeiner Stelle in der Ausgabe ausgegeben:
Output/etc/apt/trusted.gpg
--------------------
pub rsa4096 2019-05-28 [SC] [expires: 2024-05-26]
2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5
uid [ unknown] MongoDB 4.4 Release Signing Key <packaging@mongodb.com>
. . .
Zu diesem Zeitpunkt weiß Ihre APT-Installation immer noch nicht, wo das mongodb-org
-Paket zu finden ist, das Sie benötigen, um die neueste Version von MongoDB zu installieren.
Es gibt zwei Orte auf Ihrem Server, an denen APT nach Online-Quellen von Paketen zum Herunterladen und Installieren sucht: die Datei sources.list
und das Verzeichnis sources.list.d
. sources.list
ist eine Datei, die aktive Quellen von APT-Daten auflistet, wobei eine Quelle pro Zeile und die bevorzugten Quellen als Erstes aufgeführt werden. Das Verzeichnis sources.list.d
ermöglicht Ihnen, solche sources.list
-Einträge als separate Dateien hinzuzufügen.
Führen Sie den folgenden Befehl aus, der eine Datei im Verzeichnis sources.list.d
namens mongodb-org-4.4.list
erstellt. Diese Datei enthält nur die einzelne folgende Zeile: deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse
:
- echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Diese einzelne Zeile teilt APT alle nötigen Informationen bezüglich der Quelle mit und wo diese zu finden ist:
deb
: Bedeutet, dass der Quelleintrag auf eine regelmäßige Debian-Architektur verweist. In anderen Fällen kann dieser Teil der Zeile deb-src
heißen, was bedeutet, dass der Quelleintrag den Quellcode einer Debian-Distribution repräsentiert.[ arch=amd64,arm64 ]
: Gibt an, auf welche Architekturen die APT-Daten heruntergeladen werden sollen. In diesem Fall werden die Architekturen amd64
und arm64
spezifiziert.https://repo.mongodb.org/apt/ubuntu
: Ein URI, der den Speicherort angibt, an dem die APT-Daten gefunden werden können. In diesem Fall verweist der URI auf die HTTPS-Adresse, unter der sich das offizielle MongoDB-Repository befindet.focal/mongodb-org/4.4
: Ubuntu-Repositorys können mehrere verschiedene Versionen enthalten. Hier wird angegeben, dass Sie nur Version 4.4
des mongodb-org
-Paktes verwenden möchten, das für die focal
-Version von Ubuntu verfügbar ist („Focal Fossa“ ist der Codename von Ubuntu 20.04).multiverse
: Dieser Teil verweist APT auf eines der vier wichtigsten Ubuntu-Repositorys. In diesem Fall verweist er auf das multiverse
-Repository.Aktualisieren Sie nach Ausführung dieses Befehls den lokalen Paketindex Ihres Servers, damit APT weiß, wo das mongodb-org
-Paket zu finden ist:
- sudo apt update
Danach können Sie MongoDB installieren:
- sudo apt install mongodb-org
Wenn Sie dazu aufgefordert werden, drücken Sie Y
und dann ENTER
, um zu bestätigen, dass Sie das Paket installieren möchten.
Nach Beendigung des Befehls wird MongoDB auf Ihrem System installiert. Allerdings ist die Datenbank noch nicht einsatzbereit. Als Nächstes starten Sie MongoDB und bestätigen, dass sie korrekt funktioniert.
Der im vorherigen Schritt beschriebene Installationsprozess konfiguriert MongoDB automatisch so, dass die Datenbank als ein von systemd
gesteuerter Daemon ausführt wird. Das bedeutet, dass Sie MongoDB mit den verschiedenen systemctl
-Befehlen verwalten können. Dieser Installationsprozess startet den Dienst jedoch nicht automatisch.
Führen Sie den folgenden systemctl
-Befehl aus, um den MongoDB-Dienst zu starten:
- sudo systemctl start mongod.service
Überprüfen Sie dann den Status des Dienstes. Beachten Sie, dass dieser Befehl .service
nicht in die Definition der Dienstdatei einschließt. systemctl
hängt dieses Suffix an jedes beliebige Argument an, das Sie automatisch übergeben, wenn es nicht bereits vorhanden ist. Daher ist die Einfügung nicht erforderlich:
- sudo systemctl status mongod
Dieser Befehl gibt eine Ausgabe wie die folgende aus. Sie zeigt an, dass der Dienst funktioniert und ausgeführt wird:
Output● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago
Docs: https://docs.mongodb.org/manual
Main PID: 37128 (mongod)
Memory: 64.8M
CGroup: /system.slice/mongod.service
└─37128 /usr/bin/mongod --config /etc/mongod.conf
Nachdem Sie bestätigt haben, dass der Dienst wie erwartet ausgeführt wird, befähigen Sie den MongoDB-Dienst, beim Booten zu starten:
- sudo systemctl enable mongod
Sie können außerdem überprüfen, ob die Datenbank funktioniert, indem Sie den Datenbankserver verbinden und einen Diagnosebefehl ausführen. Der folgende Befehl stellt die Verbindung mit der Datenbank her und gibt ihre aktuelle Version, die Serveradresse und den Port aus. Außerdem wird das Ergebnis des internen connectionStatus
-Befehls von MongoDB ausgegeben:
- mongo --eval 'db.runCommand({ connectionStatus: 1 })'
connectionStatus
prüft den Status der Datenbankverbindung und gibt diesen aus. Ein Wert von 1
für das ok
-Feld in der Antwort gibt an, dass der Server wie erwartet funktioniert:
OutputMongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") }
MongoDB server version: 4.4.0
{
"authInfo" : {
"authenticatedUsers" : [ ],
"authenticatedUserRoles" : [ ]
},
"ok" : 1
}
Beachten Sie außerdem, dass die Datenbank auf Port 27017
unter 127.0.0.1
ausgeführt wird, die lokale Loopback-Adresse, die localhost repräsentiert. Das ist die Standardportnummer von MongoDB.
Als Nächstes sehen wir uns an, wie die MongoDB-Serverinstanz mit systemd
verwaltet wird.
Wie zuvor erwähnt, konfiguriert der in Schritt 1 beschriebene Installationsprozess MongoDB, um als systemd
-Dienst ausgeführt zu werden. Das bedeutet, dass Sie die Datenbank so wie andere Ubuntu-Systemdienste mit standardmäßigen systemctl
-Befehlen verwalten können.
Wie zuvor erwähnt, prüft der systemctl status
-Befehl den Status des MongoDB-Dienstes:
- sudo systemctl status mongod
Sie können den Dienst jederzeit anhalten, indem Sie Folgendes eingeben:
- sudo systemctl stop mongod
Um den Dienst zu starten, wenn er angehalten wurde, führen Sie Folgendes aus:
- sudo systemctl start mongod
Sie können den Server auch neu starten, wenn er bereits ausgeführt wird:
- sudo systemctl restart mongod
In Schritt 2 haben Sie MongoDB befähigt, automatisch mit dem Server zu starten. Falls Sie den automatischen Start einmal deaktivieren möchten, geben Sie Folgendes ein:
- sudo systemctl disable mongod
Um MongoDB erneut zu befähigen, beim Booten zu starten, führen Sie den enable
-Befehl erneut aus:
- sudo systemctl enable mongod
Weitere Informationen zum Verwalten von systemd
-Diensten finden Sie unter Systemd-Grundlagen: Arbeiten mit Diensten, Einheiten und dem Journal.
In dieser Anleitung haben Sie Ihrer APT-Instanz das offizielle MongoDB-Repository hinzugefügt und die neueste Version von MongoDB installiert. Anschließend haben Sie die Funktionalität von Mongo getestet und einige systemctl
-Befehle ausprobiert.
Als allernächsten Schritt empfehlen wir Ihnen dringend, die Sicherheit Ihrer MongoDB-Installation zu erhöhen, indem Sie unserem Leitfaden zum Sichern von MongoDB unter Ubuntu 20.04 folgen. Nach der Sicherung können Sie MongoDB so konfigurieren, dass Remoteverbindungen akzeptiert werden.
Weitere Anleitungen zum Konfigurieren und Verwenden von MongoDB finden Sie in diesen Community-Artikeln von DigitalOcean. Außerdem empfehlen wir Ihnen die offizielle Dokumentation von MongoDB. Sie ist eine fantastische Quelle an Möglichkeiten, die MongoDB bietet.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!