Installieren von MongoDB System Centos 8
Das folgende Tutorial beschreibt, wie MongoDB System Centos installieren 8.
Das Ganze ist einfach und kommt auf ein paar einfache Befehle wykonanaia.
In früheren Einträgen beschrieben wir den Installationsprozess für Ubuntu 18.04 das unter dieser Eintrag.
Für den Anfang erstellen wir ein Repository:
1 | nano /etc/yum.repos.d/mongodb.repo |
sein Inhalt:
1 2 3 4 5 6 | [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/development/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc |
Speichern Sie die Datei und installieren Sie den gleichen Service kodonujemy:
1 | dnf install mongodb-org |
Führen Sie es und fügen Sie Autostart:
1 2 | systemctl start mongod systemctl enable mongod |
Überprüfen Sie den Status der Dienste:
1 | systemctl status mongod |
Ergebnis:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ? mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-01-03 03:59:12 EDT; 5min ago Docs: https://docs.mongodb.org/manual Process: 737 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Process: 735 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 732 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 726 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) Main PID: 914 (mongod) Memory: 216.1M CGroup: /system.slice/mongod.service ??914 /usr/bin/mongod --auth -f /etc/mongod.conf Oct 28 03:58:14 centos8 systemd[1]: Starting MongoDB Database Server... Oct 28 03:58:28 centos8 mongod[737]: about to fork child process, waiting until server is ready for connections. Oct 28 03:58:28 centos8 mongod[737]: forked process: 914 Oct 28 03:59:12 centos8 mongod[737]: child process started successfully, parent exiting Oct 28 03:59:12 centos8 systemd[1]: Started MongoDB Database Server. |
MongoDB bekommt den Befehl zur Verwendung von:
1 | mongo |
Erstellen eines Benutzerverwaltungs MongoDB
wir bekommen zu MongoDB Befehl :
1 | mongo |
Dann haben wir die Datenbank mit dem Namen Admin verschieben
1 | use admin |
Wir geben einen Befehl Benutzer erstellen:
1 2 3 4 5 6 7 | db.createUser( { user: "mongodadmin", pwd: "password123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) |
kennwort123 zmieniamy oczywiście na nasze tajne hasło 😉
Wir sollten das Ergebnis erhalten:
1 2 3 4 5 6 7 8 9 | Successfully added user: { "user" : "mongodadmin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] } |
Überprüfen Sie Ihren Befehl:
1 | show users |
Ergebnis:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | { "_id" : "admin.mongodadmin", "userId" : UUID("f6e908db-e393-44a9-8c77-0fdb1c2baa0e"), "user" : "mongodadmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } |
Konfigurieren der Authentifizierung MongoDB
Standardmäßig erlaubt MongoDB alle Benutzer Zugriff auf die MongoDB-Shell und führen Sie beliebige Befehle. Es wird daher empfohlen, dass Sie die Authentifizierung MongoDB konfigurieren, andere Benutzer ohne die erforderlichen Berechtigungen zum Ausführen von Befehlen zu verhindern.
Zuerst müssen Sie die Authentifizierung für MongoDB ermöglichen, indem man die Datei
1 | nano /lib/systemd/system/mongod.service |
Und so setzen wir die folgende Zeile:
1 | Environment="OPTIONS= --auth -f /etc/mongod.conf" |
reload-Dienste:
1 2 | systemctl --system daemon-reload systemctl restart mongod |
Jetzt versuchen wir, ohne Erlaubnis zu betreten:
1 2 3 | mongo use admin show users |
Wir werden einen Fehler sehen
1 2 3 4 5 6 | 2019-10-28T04:13:15.346-0400 E QUERY [js] uncaught exception: Error: command usersInfo requires authentication : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DB.prototype.getUsers@src/mongo/shell/db.js:1638:15 shellHelper.show@src/mongo/shell/utils.js:883:9 shellHelper@src/mongo/shell/utils.js:790:15 @(shellhelp2):1:1 |
Jetzt einloggen wir richtig Privilegien:
1 2 | db.auth('mongodadmin', 'password123') show users |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | You should see the admin user with their roles in the following output: { "_id" : "admin.mongodadmin", "userId" : UUID("f6e908db-e393-44a9-8c77-0fdb1c2baa0e"), "user" : "mongodadmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } |