MongoDB ist eine dokumentenorientierte Open-Source-Datenbank, die sowohl auf Skalierbarkeit als auch auf Entwicklerflexibilität ausgelegt ist. Anstatt Ihre Daten wie bei einer relationalen Datenbank in Tabellen und Zeilen zu speichern, speichern Sie in MongoDB JSON-ähnliche Dokumente mit dynamischen Schemas.
Das Ziel von MongoDB ist es, die Lücke zwischen Key-Value-Speichern (die schnell und skalierbar sind) und relationalen Datenbanken (die über umfangreiche Funktionen verfügen) zu schließen.
Hier sehen wir, wie MongoDB auf CentOS 7 / RHEL 7 installiert wird.
MongoDB-Repository hinzufügen
MongoDB stellt Pakete für das Betriebssystem CentOS / RHEL aus seinem dedizierten Repository bereit.
Fügen Sie das MongoDB-Repository auf Ihrem System hinzu.
vi /etc/yum.repos.d/mongodb.repo
Fügen Sie der obigen Repo-Datei die folgenden Informationen hinzu.
MongoDB 4.4
[mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7Server/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
MongoDB 4.2
[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
MongoDB 4.0
[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
Installieren Sie MongoDB
Nachdem Sie das MongoDB-Repository hinzugefügt haben, führen Sie den folgenden Befehl aus, um MongoDB zu installieren.
yum -y install mongodb-org
mongob-org (Meta-Paket, das die folgenden Komponenten installiert) | |
---|---|
mongodb-org-server | Serverpaket |
mongodb-org-mongos | Geteilter Daemon |
mongodb-org-shell | Befehlszeilenschnittstelle |
mongodb-org-tools | MongoDB-Tools (Importieren, Exportieren, Wiederherstellen, Dump und andere Tools) |
Nachinstallation
Admin-Benutzer
MongoDB verfügt über keinen Authentifizierungsmechanismus, um den Benutzerzugriff einzuschränken. Um die Sicherheit zu verbessern, erstellen Sie einen Admin-Benutzer, um Datenbanken zu verwalten.
Zugriffskontrolle
Bearbeiten Sie nach dem Erstellen eines Administratorbenutzers die MongoDB-Konfigurationsdatei, um die Authentifizierung zu aktivieren.
vi /etc/mongod.conf
Fügen Sie dann die folgenden Zeilen zur Datei mongod.conf hinzu.
security: authorization: enabled
Huge Pages deaktivieren
MongoDB empfiehlt, die riesigen Seiten zu deaktivieren, da dies das Leistungsproblem verursacht. Deaktivieren Sie also transparente riesige Seiten.
SELinux
Wir empfehlen Ihnen, SELinux auf CentOS 7 / RHEL 7 zu deaktivieren. Wenn Sie SELinux weiterhin verwenden möchten, müssen Sie die SELinux-Richtlinie für MongoDB anpassen.
MongoDB-Dienst steuern
Um den MongoDB-Dienst zu starten, führen Sie Folgendes aus:
systemctl start mongod
Um den Status des MongoDB-Dienstes zu überprüfen, führen Sie Folgendes aus:
systemctl status mongod
Ausgabe:
● mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-08-03 15:05:50 EDT; 2s ago Docs: https://docs.mongodb.org/manual Process: 1806 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Process: 1804 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 1801 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 1800 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) Main PID: 1809 (mongod) CGroup: /system.slice/mongod.service └─1809 /usr/bin/mongod -f /etc/mongod.conf Aug 03 15:05:49 centos7.itzgeek.local systemd[1]: Starting MongoDB Database Server... Aug 03 15:05:49 centos7.itzgeek.local mongod[1806]: about to fork child process, waiting until server is ready for connections. Aug 03 15:05:49 centos7.itzgeek.local mongod[1806]: forked process: 1809 Aug 03 15:05:50 centos7.itzgeek.local systemd[1]: Started MongoDB Database Server.
Überprüfen Sie die MongoDB-Version.
mongod --version
Ausgabe:
db version v4.4.0 Build Info: { "version": "4.4.0", "gitVersion": "563487e100c4215e2dce98d0af2a6a5a2d67c5cf", "openSSLVersion": "OpenSSL 1.0.1e-fips 11 Feb 2013", "modules": [], "allocator": "tcmalloc", "environment": { "distmod": "rhel70", "distarch": "x86_64", "target_arch": "x86_64" } }
Verwenden Sie den Befehl netstat, um zu überprüfen, ob die MongoDB auf Port 27017 lauscht.
netstat -antup | grep -i 27017
Ausgabe:
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 1809/mongod
LESEN:netstat-Befehl nicht gefunden auf CentOS 7 / RHEL 7 – Quick Fix
Greifen Sie auf MongoDB zu
Stellen Sie eine Verbindung zur MongoDB-Shell her, indem Sie den folgenden Befehl eingeben.
mongo
Ausgabe:
[root@centos7 ~]# mongo MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("68e2f93f-f60c-45de-a9ef-4f5dea620a4a") } MongoDB server version: 4.4.0 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see https://docs.mongodb.com/ Questions? Try the MongoDB Developer Community Forums https://community.mongodb.com >aus
Schlussfolgerung
Das ist alles. Ich hoffe, Sie haben gelernt, wie man MongoDB auf CentOS 7 / RHEL 7 installiert. Bitte teilen Sie uns Ihr Feedback im Kommentarbereich mit.