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.
In diesem Tutorial wird erläutert, wie Sie die MongoDB Community Edition auf einem CentOS 8-Server installieren und konfigurieren.
Installieren von MongoDB #
MongoDB ist in CentOS 8-Core-Repositories nicht verfügbar. Wir aktivieren das offizielle MongoDB-Repository und installieren die Pakete.
Zum Zeitpunkt der Erstellung dieses Artikels war die neueste Version von MongoDB, die in den offiziellen MongoDB-Repositories verfügbar ist, Version 4.2. Bevor Sie mit der Installation beginnen, besuchen Sie den Abschnitt Install on Red Hat der MongoDB-Dokumentation und prüfen Sie, ob eine neue Version verfügbar ist.
Führen Sie die folgenden Schritte als Root oder Benutzer mit sudo-Berechtigungen aus, um MongoDB auf einem CentOS 8-System zu installieren:
-
Aktivieren Sie das MongoDB-Repository, indem Sie eine neue Repository-Datei mit dem Namen
mongodb-org.repo
erstellen innerhalb von/etc/yum.repos.d/
Verzeichnis:
/etc/yum.repos.d/mongodb-org.reposudo nano /etc/yum.repos.d/mongodb-org.repo
[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
Wenn Sie eine ältere Version von MongoDB installieren möchten, ersetzen Sie jede Instanz von
4.2
mit Ihrer bevorzugten Version. -
Installieren Sie
mongodb-org
Metapaket:sudo dnf install mongodb-org
Während der Installation werden Sie aufgefordert, den MongoDB-GPG-Schlüssel zu importieren. Geben Sie
y
ein und drücken SieEnter
.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, eine interaktive JavaScript-Schnittstelle zu MongoDB, die verwendet wird, 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.
-
Aktivieren und starten Sie nach Abschluss der Installation den MongoDB-Dienst:
sudo systemctl enable mongod --now
-
Um die Installation zu überprüfen, stellen Sie eine Verbindung zum MongoDB-Datenbankserver her und drucken Sie die Serverversion aus:
mongo
Führen Sie den folgenden Befehl aus, um die MongoDB-Version anzuzeigen:
db.version()
Die Ausgabe sieht in etwa so aus:
4.2.3
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 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 jede Datenbank und kann beliebige Aktionen ausführen.
Nachdem Sie Änderungen an der MongoDB-Konfigurationsdatei vorgenommen haben, starten Sie den Mongod-Dienst neu:
sudo systemctl restart mongod
Weitere Informationen zu den MongoDB-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 zuerst auf die MongoDB-Shell zu mit:
mongo
Geben Sie den folgenden Befehl ein, um eine Verbindung zum admin
herzustellen Datenbank:
use admin
switched to db admin
Erstellen Sie einen neuen Benutzer namens mongoAdmin
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
MongoDB shell version v4.2.3
Enter password:
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"
]
}