MongoDB ist eine kostenlose Open-Source-Dokumentendatenbank. Es gehört zu einer Familie von Datenbanken namens NoSQL, die sich von den traditionellen tabellenbasierten SQL-Datenbanken wie MySQL und PostgreSQL unterscheiden.
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.
In diesem Tutorial zeigen wir Ihnen, wie Sie die neueste Version der MongoDB Community Edition auf einem Debian 9-System aus den offiziellen MongoDB-Repositories installieren und konfigurieren.
Voraussetzungen #
Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind.
Installieren von MongoDB #
Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version von MongoDB Version 4.0.
Bevor Sie mit dem Installationsprozess fortfahren, gehen Sie zum Abschnitt Install on Debian der MongoDB-Dokumentation und prüfen Sie, ob eine neue Version verfügbar ist.
Die folgenden Schritte beschreiben die Installation von MongoDB auf einem Debian-System:
-
Installieren Sie zuerst die Pakete, die zum Hinzufügen eines neuen Repositorys erforderlich sind:
sudo apt install software-properties-common dirmngr
-
Fügen Sie den MongoDB-GPG-Schlüssel mit dem folgenden Befehl zu Ihrem System hinzu:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
-
Sobald der Schlüssel importiert ist, führen Sie Folgendes aus, um das MongoDB-Repository hinzuzufügen:
sudo add-apt-repository 'deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main'
Wenn Sie eine ältere Version von MongoDB installieren möchten, ersetzen Sie
4.0
mit Ihrer bevorzugten Version. -
Aktualisieren Sie die Paketliste:
sudo apt update
-
Installieren Sie
mongodb-org
Metapaket mit:sudo apt install mongodb-org
Die folgenden Pakete werden als Teil von
mongodb-org
auf Ihrem System installiert Paket:mongodb-org-server
- Dermongod
Daemon und entsprechende Init-Skripte und Konfigurationen.mongodb-org-mongos
- Diemongos
Dämon.mongodb-org-shell
- Die Mongo-Shell ist 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 start mongod
sudo systemctl enable mongod
-
Um zu überprüfen, ob die Installation erfolgreich abgeschlossen wurde, verbinden wir uns mit dem
mongo
mit dem MongoDB-Datenbankserver Tool und drucken Sie den Verbindungsstatus:mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Die Ausgabe sieht folgendermaßen aus:
MongoDB shell version v4.0.2 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 4.0.2 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Ein Wert von
1
für dasok
Feld zeigt Erfolg an.
Konfiguriere 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 entkommentieren und die Autorisierung wie unten gezeigt zu aktivieren:
/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.
Nachdem Sie Änderungen an der MongoDB-Konfigurationsdatei vorgenommen haben, starten Sie den Mongod-Dienst neu mit:
sudo systemctl restart mongod
Weitere Informationen zu den in MongoDB 4.0 verfügbaren Konfigurationsoptionen finden Sie auf der Dokumentationsseite Konfigurationsdateioptionen.
Erstellen des administrativen MongoDB-Benutzers Nr.
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.
Greifen Sie zuerst auf die Mongo-Shell zu mit:
mongo
Sobald Sie sich in der MongoDB-Shell befinden, geben Sie den folgenden Befehl ein, um eine Verbindung zum admin
herzustellen Datenbank:
use admin
switched to db admin
Geben Sie den folgenden Befehl aus, um einen neuen Benutzer namens mongoAdmin
zu erstellen mit der userAdminAnyDatabase
Rolle:
db.createUser(
{
user: "mongoAdmin",
pwd: "changeMe",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Sie können den administrativen MongoDB-Benutzer nach Belieben benennen. 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
Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden. Sobald Sie sich in der MongoDB-Shell befinden, verbinden Sie sich mit admin
Datenbank:
use admin
switched to db admin
Drucken Sie nun die Benutzer mit:
show users
{
"_id" : "admin.mongoAdmin",
"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.