Datenbank Installation · 7 min read · Oct 21, 2025

Wie man MongoDB auf Debian 12 installiert

MongoDB ist ein Open-Source-, plattformübergreifendes und verteiltes NoSQL (nicht-SQL oder nicht-relationale) Datenbanksystem. Anstatt Daten wie traditionelle SQL-Datenbanken in Tabellen zu speichern, verwendet MongoDB flexible Dokumente, um verschiedene Datenformen zu speichern. MongoDB verwendet das binäre JSON-Format, BSON, zur Speicherung von Daten.

MongoDB ist eine verteilte NoSQL-Datenbank mit integrierter hoher Verfügbarkeit, automatischem Failover und Datenredundanz sowie horizontaler Skalierung durch Sharding über verteilte Cluster und unterstützt die geografische Bereitstellung in mehreren Regionen. MongoDB bietet auch eine Abfrage-API, die CRUD-Operationen (lesen und schreiben), Datenaggregations-Pipelines, Textsuche und geospatial Abfragen unterstützt.

In diesem Tutorial lernen Sie, wie Sie MongoDB auf einem Debian 12-Server installieren. Sie lernen auch, wie Sie die MongoDB-Authentifizierung aktivieren, den ‘mongosh’-MongoDB-Client verwenden und grundlegende Abfragen durchführen, um einen neuen Benutzer und eine neue Datenbank in MongoDB zu erstellen.

Voraussetzungen

Um mit diesem Tutorial zu beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen Debian 12-Server
  • Einen Nicht-Root-Benutzer mit Administratorrechten

Debian-Server vorbereiten

Bevor Sie MongoDB auf Ihrem Debian-Server installieren, wird empfohlen, die folgenden Einstellungen anzuwenden:

  • Deaktivieren Sie transparente große Seiten (THP) über das systemd-Skript
  • Erhöhen Sie die Standardgrenzen für den MongoDB-Benutzer
  • Aktivieren Sie die Swappiness und erhöhen Sie den max_mmap-Speicher über die Datei ‘ /etc/sysctl.conf

Jetzt konfigurieren wir den Debian-Server.

Zuerst führen Sie den Befehl ‘ nano ‘ unten aus, um eine neue Dienstdatei /etc/systemd/system/disable-thp.service zu erstellen.

sudo nano /etc/systemd/system/disable-thp.service

Fügen Sie das folgende Dienstskript ein, um die ‘ transparent_hugepage ‘ auf ‘ never ‘ zu setzen.

[Unit]  
Description=Disable Transparent Huge Pages (THP)  
  
[Service]  
Type=simple  
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"  
  
[Install]  
WantedBy=multi-user.target

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie jetzt den folgenden ‘ systemctl ‘ Befehl aus, um den systemd-Manager neu zu laden. Starten und aktivieren Sie dann den ‘ disable-thp ‘ Dienst. Damit wird die ‘ transparent_hugepage ‘ bei jedem Systemstart deaktiviert.

sudo systemctl daemon-reload  
sudo systemctl enable --now disable-thp.service

Erstellen Sie als Nächstes eine neue Datei /etc/security/limits.d/mongodb.conf mit dem ‘ nano ‘ Editor.

sudo nano /etc/security/limits.d/mongodb.conf

Fügen Sie die folgende Konfiguration ein, um die maximalen Prozess- und Dateigrenzen auf ‘ 64000 ‘ für den Benutzer ‘ mongod ‘ festzulegen.

mongod soft nproc 64000  
mongod hard nproc 64000  
mongod soft nofile 64000  
mongod hard nofile 64000

Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.

Bearbeiten Sie danach die Datei ‘ /etc/sysctl.conf ‘ mit dem folgenden Befehl.

sudo nano /etc/sysctl.conf

Fügen Sie die folgende Konfiguration am Ende der Datei hinzu.

fs.file-max = 2097152  
vm.max_map_count = 262144  
vm.swappiness = 1

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie schließlich den ‘ sysctl ‘ Befehl unten aus, um die Änderungen in der Datei ‘ /etc/sysctl.conf ‘ sofort anzuwenden.

sudo sysctl -p

setup system

MongoDB-Server auf Debian installieren

Jetzt, da Sie Ihren Debian-Server konfiguriert haben, lassen Sie uns mit der Installation von MongoDB beginnen. In diesem Fall installieren Sie MongoDB 7.0 über das offizielle MongoDB-Repository auf Ihrem Debian-Server.

Installieren Sie die Pakete ‘ gnupg ‘ und ‘ curl ‘ auf Ihrem Debian-System mit folgendem Befehl:

sudo apt install gnupg curl

install gnupe curl

Fügen Sie jetzt den MongoDB GPG-Schlüssel und das Repository für Debian mit dem folgenden Befehl hinzu. In diesem Fall richten Sie ein Repository für MongoDB 7.0 ein.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \  
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \  
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

add repo

Führen Sie als Nächstes den ‘ apt ‘ Befehl unten aus, um Ihre Paketliste zu aktualisieren und das ‘mongodb-org’-Paket zu installieren.

sudo apt update && sudo apt install mongodb-org -y

Im folgenden Output können Sie die MongoDB-Installation sehen.

install mongodb

Nachdem die Installation abgeschlossen ist, laden Sie den systemd-Manager mit dem ‘systemctl’-Befehl neu.

sudo systemctl daemon-reload

Starten und aktivieren Sie den ‘mongod’-Dienst und überprüfen Sie ihn, um sicherzustellen, dass der Dienst läuft.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Wenn MongoDB läuft, sehen Sie eine Ausgabe wie die folgende:

check mongodb

MongoDB-Server mit Authentifizierung sichern

Nachdem MongoDB installiert ist, müssen Sie Ihre Installation sichern, indem Sie die MongoDB-Authentifizierung aktivieren. In diesem Abschnitt richten Sie die MongoDB-Authentifizierung ein und erstellen einen neuen Administratorbenutzer für MongoDB. Dies zeigt Ihnen, wie Sie ‘ mongosh ‘ oder den MongoDB-Client und grundlegende MongoDB-Abfragen verwenden.

Melden Sie sich mit dem Befehl ‘ mongosh ‘ unten am MongoDB-Server an. Es gibt kein Passwort für die Standardinstallation von MongoDB.

mongosh

Führen Sie den Befehl ‘ disableTelemetry() ‘ aus, um die anonyme Datensammlung von MongoDB zu deaktivieren.

disableTelemetry()

Wechseln Sie zur Datenbank ‘ admin ‘ mit der Abfrage ‘ use ‘.

use admin

Führen Sie jetzt die folgende Abfrage aus, um einen neuen Benutzer ‘ myAdmin ‘ zu erstellen, der als Administrator für Ihren MongoDB-Server verwendet wird. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

db.createUser(  
{  
user: "myAdmin",  
pwd: passwordPrompt(),  
roles: [  
{ role: "userAdminAnyDatabase", db: "admin" },  
{ role: "readWriteAnyDatabase", db: "admin" }  
]  
}  
)

Geben Sie den Befehl ‘ quit() ‘ ein, um den MongoDB-Server zu verlassen.

quit()

create user

Bearbeiten Sie als Nächstes die Datei ‘ /etc/mongod.conf ‘ mit dem ‘ nano ‘ Editor.

sudo nano /etc/mongod.conf

Kommentieren Sie die Option ‘ security ‘ aus und fügen Sie ‘ authorization: enabled ‘ hinzu, um die Authentifizierung in MongoDB zu aktivieren.

security:  
  authorization: enabled

Speichern Sie die Datei und beenden Sie den Editor.

Führen Sie jetzt den ‘ systemctl ‘ Befehl unten aus, um den MongoDB-Server neu zu starten und Ihre Änderungen anzuwenden.

sudo systemctl restart mongod

Testen der MongoDB-Authentifizierung

Jetzt, da Sie einen Admin-Benutzer erstellt und die Authentifizierung auf Ihrem MongoDB-Server aktiviert haben. Lassen Sie uns Ihre Konfiguration überprüfen, indem Sie sich mit dem Benutzer ‘myAdmin’ am MongoDB-Server anmelden.

Führen Sie den ‘ mongosh ‘ Befehl unten aus, um sich als Benutzer ‘myAdmin’ am MongoDB-Server anzumelden, und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

mongosh --port 27017 --authenticationDatabase \  
"admin" -u "myAdmin" -p

login mongodb

Nachdem Sie sich angemeldet haben, führen Sie die folgende Abfrage aus, um den Verbindungsstatus zum MongoDB-Server zu überprüfen.

db.runCommand({connectionStatus : 1})

Sie können unten sehen, dass Sie sich als Benutzer ‘myAdmin’ mit dem MongoDB-Server verbunden haben.

check connection

Erstellen der ersten Datenbank und des Benutzers

In diesem Abschnitt erstellen Sie eine neue Datenbank und einen Benutzer, die für Ihre Anwendung über den ‘mongosh’-MongoDB-Client verwendet werden. Stellen Sie also sicher, dass Sie sich in der ‘ mongosh ‘ Umgebung befinden.

Führen Sie zuerst die Abfrage ‘ use ‘ aus, um die Ziel-Datenbank zu erstellen und zu wechseln. In diesem Beispiel erstellen Sie eine neue Datenbank ‘ mydb ‘. Ihre MongoDB-Eingabeaufforderung ändert sich in ‘ mydb ‘.

use mydb

Führen Sie jetzt die folgende Abfrage aus, um einen neuen Benutzer ‘myUser’ mit Berechtigungen zum Lesen und Schreiben in die Datenbank ‘ mydb ‘ zu erstellen. Geben Sie ein neues Passwort ein, wenn Sie dazu aufgefordert werden.

use mydb  
db.createUser(  
{  
user: "myUser",  
pwd: passwordPrompt(),  
roles: [ { role: "readWrite", db: "mydb" },  
{ role: "read", db: "reporting" } ]  
}  
)

create new database and user

Führen Sie als Nächstes die folgenden Abfragen aus, um zur Datenbank ‘ admin ‘ zu wechseln und die Liste der Benutzer auf Ihrem MongoDB-Server zu überprüfen.

use admin  
db.system.users.find()

Sie sollten den Benutzer ‘ myAdmin ‘ und ‘ myUser ‘ sehen, die wie folgt erstellt wurden:

Geben Sie jetzt ‘ quit() ‘ ein, um den MongoDB-Server zu verlassen.

listing users

Zuletzt melden Sie sich mit dem neuen Benutzer ‘ myUser ‘ in der Datenbank ‘ mydb ‘ mit dem folgenden Befehl am MongoDB-Server an. Geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

mongosh --port 27017 -u "myUser" \  
--authenticationDatabase "mydb" -p

login mongodb

Führen Sie die folgende Abfrage aus, um Ihre aktuelle Verbindung zu überprüfen.

db.runCommand({connectionStatus : 1})

Im Abschnitt ‘ authInfo ‘ können Sie sehen, dass Sie sich als Benutzer ‘myUser’ und Datenbank ‘mydb’ authentifiziert haben.

check connection

Fazit

Herzlichen Glückwunsch! Sie haben die Installation von MongoDB 7.0 auf dem Debian 12-Server abgeschlossen. Sie haben auch gelernt, wie Sie den MongoDB-Server sichern, indem Sie die Authentifizierung aktivieren und dann einen neuen Administratorbenutzer für MongoDB erstellen. Schließlich haben Sie gelernt, wie Sie eine neue MongoDB-Datenbank und einen Benutzer für Ihre Anwendungen erstellen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.