GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren und sichern Sie MongoDB 4 in CentOS 8

MongoDB ist ein plattformübergreifendes NoSQL-Datenbanksystem, das in C++ geschrieben ist. MongoDB unterscheidet sich von herkömmlichen tabellenbasierten SQL-Datenbanken wie MySQL und PostgreSQL und ist speziell für die Speicherung großer Datenmengen konzipiert. MongoDB verwendet JSON-ähnliche Dokumente mit dynamischen Schemas und erfordert kein vordefiniertes Schema, bevor Sie Daten zu einer Datenbank hinzufügen. MongoDB ist kostenlos, Open Source und verfügt über eine Vielzahl von Funktionen, darunter Speicherung, Datenreplikation, Ad-hoc-Abfragen, Lastausgleich und vieles mehr.

In diesem Tutorial erklären wir, wie MongoDB unter CentOS 8 installiert und gesichert wird.

Voraussetzungen

  • Ein frischer CentOS 8 VPS auf der Atlantic.net Cloud Platform.
  • Ein auf Ihrem Server konfiguriertes Root-Passwort.

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie CentOS 8 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem CentOS 8-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

dnf update -y

Schritt 2 – Fügen Sie das MongoDB-Repository hinzu

Sie können es mit dem folgenden Befehl erstellen:

nano /etc/yum.repos.d/mongodb-org.repo

Fügen Sie die folgenden Zeilen hinzu:

[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

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Als Nächstes können Sie mit der Installation von MongoDB in Ihrem System fortfahren.

Schritt 3 – MongoDB installieren

Jetzt können Sie die MongoDB installieren, indem Sie einfach den folgenden Befehl ausführen:

dnf install mongodb-org -y

Starten Sie nach Abschluss der Installation den MongoDB-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start mongod
systemctl enable mongod

Sie können jetzt den Status des MongoDB-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status mongod

Sie sollten die folgende Ausgabe sehen:

● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2020-04-10 10:58:18 EDT; 7s ago
     Docs: https://docs.mongodb.org/manual
  Process: 2904 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 2902 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 2899 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 2897 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
 Main PID: 2906 (mongod)
   Memory: 77.0M
   CGroup: /system.slice/mongod.service
           └─2906 /usr/bin/mongod -f /etc/mongod.conf

Apr 10 10:58:17 centos8 systemd[1]: Starting MongoDB Database Server...
Apr 10 10:58:17 centos8 mongod[2904]: about to fork child process, waiting until server is ready for connections.
Apr 10 10:58:17 centos8 mongod[2904]: forked process: 2906
Apr 10 10:58:18 centos8 mongod[2904]: child process started successfully, parent exiting
Apr 10 10:58:18 centos8 systemd[1]: Started MongoDB Database Server.

Jetzt läuft MongoDB und lauscht auf Port 27017. Sie können dies mit dem folgenden Befehl überprüfen:

netstat -pnltu | grep 27017

Sie sollten die folgende Ausgabe erhalten:

tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      2906/mongod

Sie können auch mit dem folgenden Befehl auf die MongoDB-Shell zugreifen:

mongo

Sie sollten die folgende Ausgabe erhalten:

MongoDB shell version v4.2.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("b0f7656f-f939-4f50-87d2-01cbeca0849a") }
MongoDB server version: 4.2.5
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
            http://docs.mongodb.org/
Questions? Try the support group
            http://groups.google.com/group/mongodb-user
Server has startup warnings:
2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten]
2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten]
2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten]
2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2020-04-10T10:58:18.521-0400 I  CONTROL  [initandlisten] **        We suggest setting it to 'never'
2020-04-10T10:58:18.522-0400 I  CONTROL  [initandlisten]
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

Sie können die MongoDB-Shell mit dem folgenden Befehl verlassen:

>exit

Schritt 4 – MongoDB-Authentifizierung aktivieren

nano /etc/mongod.conf

Fügen Sie am Ende der Datei die folgende Zeile hinzu:

security:
  authorization: enabled

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den MongoDB-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart mongod

Schritt 5 – Erstellen Sie einen MongoDB-Admin-Benutzer

Als Nächstes müssen Sie einen Administrator mit allen Rechten zum Ausführen von Verwaltungsaufgaben erstellen.

Greifen Sie zunächst mit dem folgenden Befehl auf die MongoDB-Shell zu:

mongo

Sie sollten die folgende Ausgabe erhalten:

MongoDB shell version v4.2.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("09e0e028-cd26-4f9d-9270-52b938925f99") }
MongoDB server version: 4.2.5

Als nächstes ändern Sie die Datenbank mit dem folgenden Befehl auf admin:

> use admin

Erstellen Sie als Nächstes mit dem folgenden Befehl einen MongoDB-Administratorbenutzer namens myadmin:

> db.createUser( { user: "myadmin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )

Nachdem der Benutzer erstellt wurde, sollten Sie die folgende Ausgabe erhalten:

Successfully added user: {
            "user" : "myadmin",
            "roles" : [
                        {
                                    "role" : "userAdminAnyDatabase",
                                    "db" : "admin"
                        }
            ]
}

Verlassen Sie als Nächstes die MongoDB-Shell mit dem folgenden Befehl:

>exit

Schritt 6 – Überprüfen Sie die MongoDB-Authentifizierung

An diesem Punkt ist MongoDB mit Authentifizierung konfiguriert. Jetzt müssen Sie einen Benutzernamen und ein Passwort angeben, bevor Sie mit MongoDB interagieren können.

Verbinden Sie als Nächstes die MongoDB ohne Authentifizierung:

mongo

Sie sollten die folgende Ausgabe erhalten:

MongoDB shell version v4.2.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("fecf1846-13fd-4959-91da-5cf323781e13") }
MongoDB server version: 4.2.5

Führen Sie nun den folgenden Befehl aus, um MongoDB-Benutzer aufzulisten:

> show users

Sie sollten die folgende Fehlermeldung erhalten:

2020-04-10T11:08:04.598-0400 E  QUERY    [js] uncaught exception: Error: command usersInfo requires authentication :
[email protected]/mongo/shell/utils.js:25:13
[email protected]/mongo/shell/db.js:1638:15
[email protected]/mongo/shell/utils.js:883:9
[email protected]/mongo/shell/utils.js:790:15
@(shellhelp2):1:1

Dies zeigt, dass Sie die Benutzer nicht ohne Authentifizierung auflisten können.

Beenden Sie nun MongoDB mit dem folgenden Befehl:

>exit

Schritt 7 – Greifen Sie mit Administrator auf MongoDB zu

Verbinden wir uns nun mit dem administrativen Benutzer mit der MongoDB:

mongo -u myadmin -p --authenticationDatabase admin

Sie werden aufgefordert, Ihr Admin-Passwort wie unten gezeigt einzugeben:

MongoDB shell version v4.2.5
Enter password:

Geben Sie Ihr Admin-Passwort ein und drücken Sie Enter . Sie sollten die folgende Ausgabe erhalten:

connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("a39f723c-f1b5-4c93-9e67-ff82379dfb62") }
MongoDB server version: 4.2.5

Als nächstes ändern Sie die Datenbank auf admin und listen die Benutzer mit dem folgenden Befehl auf:

> use admin
> show users

Sie sollten die folgende Ausgabe erhalten:

{
            "_id" : "admin.myadmin",
            "userId" : UUID("bcd920c1-63fd-4b82-a8a6-eb6515d51a34"),
            "user" : "myadmin",
            "db" : "admin",
            "roles" : [
                        {
                                    "role" : "userAdminAnyDatabase",
                                    "db" : "admin"
                        }
            ],
            "mechanisms" : [
                        "SCRAM-SHA-1",
                        "SCRAM-SHA-256"
            ]
}

Verlassen Sie nun die MongoDB-Shell mit der folgenden Ausgabe:

>exit

Schlussfolgerung

In der obigen Anleitung haben wir gelernt, wie man MongoDB unter CentOS 8 installiert. Wir haben auch gezeigt, wie man die MongoDB-Authentifizierung aktiviert und einen administrativen Benutzer erstellt. Ihre MongoDB auf Ihrem Atlantic.Net-VPS ist jetzt mit Benutzername und Passwort gesichert – wenn Sie kein VPS von Atlantic.Net haben, beginnen Sie noch heute mit dem VPS-Hosting, um MongoDB zu installieren!


Linux
  1. So installieren und sichern Sie MongoDB unter Debian 11

  2. So installieren Sie MongoDB auf CentOS 8 / RHEL 8

  3. So installieren Sie MongoDB 4.4/4.2 unter CentOS 7/RHEL 7

  4. So installieren Sie MongoDB unter Ubuntu 20.04 und CentOS 8

  5. So installieren Sie FlintCMS unter CentOS 7

So installieren Sie MongoDB unter CentOS 6

So installieren Sie MongoDB unter CentOS 7

So installieren und konfigurieren Sie GlusterFS unter CentOS 7/CentOS 8

So installieren und sichern Sie phpMyAdmin unter CentOS 8

Wie installiere ich MongoDB Version 4.0 auf Centos 7?

Wie installiere ich Mongodb in CentOS?