Hoe het MongoDB-databasesysteem op Ubuntu te installeren?

MongoDB

In deze blog hebben we het gehad over enkele databasesystemen, waarvan de meest populaire MariaDB en MySQL zijn, aangezien dit de systemen zijn die gewoonlijk in Xampp of Lampp worden opgenomen. Deze keer gaan we erover praten een ander systeem dat is MongoDB.

MongoDB is een open source documentgeoriënteerd NoSQL-databasesysteem, Dit is een modern documentdatabasebeheersysteem ontworpen voor krachtige gegevenspersistentie, hoge beschikbaarheid en automatische schaling op basis van de technologie van de NoSQL-techniek.

In plaats van gegevens in tabellen op te slaan zoals in relationele databases, slaat MongoDB gegevensstructuren op in een document, een datastructuur die bestaat uit veld- en waardeparen (MongoDB-documenten zijn vergelijkbaar met JSON-objecten).

Omdat het hoge prestaties en uitstekende schaalbaarheidseigenschappen biedt, wordt het gebruikt om moderne applicaties te bouwen die krachtige, bedrijfskritische en zeer beschikbare databases vereisen.

MongoDB-installatie op Ubuntu

Om dit databasesysteem op ons systeem te installeren, We hoeven alleen een terminal te openen en de volgende opdracht erin uit te voeren:

sudo apt install mongodb

Installatie voltooid, MongoDB-service wordt automatisch gestart via systemd en het proces wordt uitgevoerd op poort 27017. Je kunt de status controleren met de volgende opdracht:

sudo systemctl status mongodb

Zo niet, dan kunnen we de start forceren met deze opdracht:

sudo systemctl start mongodb

Externe verbindingen met MongoDB mogelijk maken

Mongo DB 1

Het MongoDB-databasesysteem gebruikt standaard poort 27017 die we moeten openen Om externe verbindingen te accepteren, schakelen we het alleen in met het volgende commando.

sudo ufw allow 27017

Standaard is poort 27017 alleen toegankelijk vanaf het lokale adres 127.0.0.1. Om externe verbindingen met MongoDB mogelijk te maken, is het nodig om het IP-adres van de server aan het bestand toe te voegen /etc/mongodb.conf

Bewerk het gewoon met:

sudo nano

En we kunnen iets soortgelijks zien:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Die we bewerken met de gegevens van onze server.

Het geeft overal toegang tot MongoDB en geeft onbeperkte toegang tot de gegevens in de database. Daarom is het beter om toegang te geven tot het locatiespecifieke standaard IP-adres van de MongoDB-poort.

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

Zodra dit is gebeurd, is het voldoende om de service opnieuw te starten zodat de nieuwe wijzigingen aan het begin worden geladen, we doen dit met:

sudo systemctl restart mongodb

Maak een gebruiker in MongoDB met wachtwoord

Standaard heeft de database vrij eenvoudige toegang, dus om dit te versterken kunnen we een gebruiker met een wachtwoord aanmaken.

MongoDB gebruikt het SCRAM-verificatiemechanisme standaard. Door SCRAM op het systeem te gebruiken, worden de verstrekte gebruikersreferenties vergeleken met de gebruikersnaam, het wachtwoord en de verificatiedatabase.

Start gewoon de databaseconsole met de volgende opdracht:

Mongo

We kunnen een lijst maken van de bestaande databases met:

show dbs

We kunnen een gebruiker aanmaken waarmee we gebruikers en functies kunnen beheren zoals het aanmaken van gebruikers, het toekennen of intrekken van gebruikersrollen, en het aanmaken of wijzigen van douanerollen.

Typ gewoon

use admin

En we maken de gebruiker aan met de volgende opdracht, waar we de naam van de gebruiker "root" en het wachtwoord "wachtwoord" vervangen door de toegangscriteria die wij geschikt achten.

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

Zodra dit is gebeurd, moeten we de authenticatiemethode inschakelen hiervoor gaan we het volgende bestand bewerken:

sudo nano /lib/systemd/system/mongodb.service

En we gaan op zoek naar de volgende regel:

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

En bewerk zodat het als volgt is:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

nu we herstarten gewoon in de database

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y We testen de authenticatiemethode met:

mongo -u "usuario" -p --authenticationDatabase "contraseña"

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Detecteerbaar zei

    Help me met deze FOUT.

    2021-03-24T21: 33: 16.233 + 0000 E QUERY [thread1] Fout: lijstDatabases mislukt: {
    «Ok»: 0,
    "Errmsg": "niet geautoriseerd op admin om commando {listDatabases: 1.0, $ db: \" admin \ "}" uit te voeren,
    "Code": 13,
    "CodeName": "Niet geautoriseerd"

    _getErrorWithCode@src/mongo/shell/utils.js: 25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js: 65: 1
    shellHelper.show@src/mongo/shell/utils.js: 816: 19
    shellHelper@src/mongo/shell/utils.js: 706: 15
    @ (shellhelp2): 1: 1