Hvordan installeres MongoDB-databasesystemet på Ubuntu?

MongoDB

I denne blog har vi talt om nogle databasesystemer, blandt hvilke de mest populære er MariaDB og MySQL, da de er de systemer, der normalt er inkluderet i Xampp eller Lampp. Denne gang skal vi tale om et andet system, som er MongoDB.

MongoDB er et open source-dokumentorienteret NoSQL-databasesystem, Dette er et moderne dokumentdatabasehåndteringssystem designet til højtydende datapretention høj tilgængelighed samt automatisk skalering baseret på teknologien i NoSQL-teknikken.

I stedet for at gemme data i tabeller, som det gøres i relationsdatabaser, gemmer MongoDB datastrukturer i et dokument, som er en datastruktur, der består af felt- og værdipar (MongoDB-dokumenter kan sammenlignes med JSON-objekter).

Fordi det giver høj ydeevne og fremragende skalerbarhedsegenskaber, bruges det til at opbygge moderne applikationer, der kræver kraftige, missionskritiske og meget tilgængelige databaser.

MongoDB installation på Ubuntu

For at installere dette databasesystem på vores system, Vi skal kun åbne en terminal og udføre følgende kommando i den:

sudo apt install mongodb

Installation udført, MongoDB-tjenesten starter automatisk via systemd og processen kører på port 27017. Du kan kontrollere dens status ved hjælp af kommandoen:

sudo systemctl status mongodb

Hvis ikke, kan vi tvinge starten med denne kommando:

sudo systemctl start mongodb

Aktivering af fjernforbindelser til MongoDB

Mongo DB 1

MongoDB-databasesystemet bruger som standard port 27017, som vi skal åbne For at acceptere fjernforbindelser aktiverer vi det kun med følgende kommando.

sudo ufw allow 27017

Som standard har port 27017 kun adgang til den lokale adresse 127.0.0.1. For at tillade fjernforbindelser til MongoDB er det nødvendigt at tilføje serverens IP-adresse i filen /etc/mongodb.conf

Bare rediger det med:

sudo nano

Og vi kan se noget der ligner dette:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Hvilket vi redigerer med dataene fra vores server.

Tillader adgang til MongoDB overalt, det giver ubegrænset adgang til dataene i databasen. Derfor er det bedre at give adgang til den stedsspecifikke standard-IP-adresse for MongoDB-porten.

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

Når dette er gjort, er det nok at genstarte tjenesten, så de nye ændringer indlæses i starten, dette gør vi med:

sudo systemctl restart mongodb

Opret en bruger i MongoDB med adgangskode

Som standard har databasen ret enkel adgang, så for at forstærke dette kan vi oprette en bruger med en adgangskode.

MongoDB bruger SCRAM-godkendelsesmekanismen som standard. Brug af SCRAM på systemet verificerer de leverede brugeroplysninger i forhold til brugernavnet, adgangskoden og godkendelsesdatabasen.

Start bare databasekonsollen med følgende kommando:

Mongo

Vi kan oprette en liste over de eksisterende databaser med:

show dbs

Vi kan oprette en bruger, der giver os mulighed for at administrere brugere og funktioner såsom oprettelse af brugere, tildeling eller tilbagekaldelse af brugerroller og oprettelse eller ændring af toldroller.

Bare skriv

use admin

Og vi opretter brugeren med følgende kommando, hvor vi erstatter navnet på brugeren "root" og adgangskoden "password", med de adgangsfunktioner, som vi finder passende.

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

Når dette er gjort, skal vi aktivere godkendelsesmetoden til dette skal vi redigere følgende fil:

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

Og vi vil kigge efter den næste linje:

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

Og rediger, så det er som følger:

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

Nu vi genstarter simpelthen i databasen

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y Vi tester godkendelsesmetoden med:

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

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Påviselig sagde han

    Hjælp mig med denne FEJL.

    2021-03-24T21: 33: 16.233 + 0000 E SPØRGSMÅL [thread1] Fejl: listeDatabaser mislykkedes: {
    «Ok»: 0,
    "Errmsg": "ikke autoriseret af admin til at udføre kommando {listDatabases: 1.0, $ db: \" admin \ "}",
    "Kode": 13,
    "CodeName": "Uautoriseret"
    }:
    _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