MongoDB ist eine kostenlose Open-Source-Dokumentendatenbank. Sie wird als NoSQL-Datenbank klassifiziert, die sich von herkömmlichen 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 zeigen wir Ihnen, wie Sie die MongoDB Community Edition auf einem CentOS 7-Server 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, die in den offiziellen MongoDB-Repositories verfügbar ist, Version 4.0. Bevor Sie mit dem nächsten Schritt fortfahren, besuchen Sie den Abschnitt Install on Red Hat in der MongoDB-Dokumentation und prüfen Sie, ob eine neue Version verfügbar ist.
Führen Sie die folgenden Schritte aus, um die neueste stabile Version von MongoDB auf Ihrem CentOS-Server zu installieren:
-
MongoDB-Repository aktivieren
Um das MongoDB-Repository zu Ihrem System hinzuzufügen, öffnen Sie Ihren Texteditor und erstellen Sie eine neue YUM-Repository-Konfigurationsdatei mit dem Namen
/etc/yum.repos.d/mongodb-org.repomongodb-org.repo
innerhalb von/etc/yum.repos.d/
Verzeichnis:[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
Wenn Sie eine ältere Version von MongoDB installieren möchten, ersetzen Sie jede Instanz von
4.0
mit Ihrer bevorzugten Version. -
MongoDB installieren
Nachdem das Repository aktiviert ist, können Sie
mongodb-org
installieren Metapaket mit dem Dienstprogramm yum:sudo yum install mongodb-org
Während der Installation fordert yum Sie auf, 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.
-
Starten von MongoDB
Starten Sie nach Abschluss der Installation den MongoDB-Daemon und ermöglichen Sie ihm, beim Booten zu starten, indem Sie Folgendes eingeben:
sudo systemctl start mongod
sudo systemctl enable mongod
-
Überprüfung der MongoDB-Installation
Um die Installation zu überprüfen, verbinden wir uns mit dem
mongo
mit dem MongoDB-Datenbankserver Tool und drucken Sie die Serverversion aus:mongo
Sobald Sie sich in der MongoDB-Shell befinden, geben Sie den folgenden Befehl ein, der die MongoDB-Version anzeigt:
db.version()
Die Ausgabe sieht wie folgt aus:
4.0.1
Konfiguriere MongoDB #
Sie können Ihre MongoDB-Instanz konfigurieren, indem Sie /etc/mongod.conf
bearbeiten Konfigurationsdatei, die in YAML geschrieben ist.
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 jede Aktion 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 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, den Sie verwenden, um auf Ihre MongoDB-Instanz zuzugreifen und sie zu verwalten.
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
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
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.