Kaip įdiegti „MongoDB“ duomenų bazių sistemą „Ubuntu“?

MongoDB

Šiame tinklaraštyje kalbėjome apie kai kurias duomenų bazių sistemas, tarp kurių populiariausios yra „MariaDB“ ir „MySQL“, nes tai sistemos, kurios paprastai yra įtrauktos į „Xampp“ arba „Lampp“. Šį kartą mes kalbėsime apie tai kita sistema, kuri yra Mongodb.

MongoDB yra į atviro kodo dokumentą orientuota „NoSQL“ duomenų bazių sistema, Tai yra moderni dokumentų duomenų bazių valdymo sistema, skirta didelio našumo duomenims išlaikyti, didelis prieinamumas, taip pat automatinis mastelio keitimas, pagrįstas „NoSQL“ technikos technologija.

Užuot išsaugojęs duomenis lentelėse, kaip tai daroma reliacinėse duomenų bazėse, „MongoDB“ išsaugo duomenų struktūras dokumente, kuri yra duomenų struktūra, susidedanti iš laukų ir reikšmių porų („MongoDB“ dokumentai yra palyginami su JSON objektais).

Kadangi jis užtikrina aukštą našumą ir puikias mastelio savybes, jis naudojamas kuriant šiuolaikines programas, kurioms reikalingos galingos, kritiškai svarbios ir labai prieinamos duomenų bazės.

„MongoDB“ diegimas „Ubuntu“

Norėdami įdiegti šią duomenų bazės sistemą į savo sistemą, Turime atidaryti tik terminalą ir jame atlikti šią komandą:

sudo apt install mongodb

Diegimas atliktas, „MongoDB“ paslauga bus paleista automatiškai per „systemd“ ir procesas bus vykdomas 27017. prievade. Jo būseną galite patikrinti naudodami komandą:

sudo systemctl status mongodb

Jei ne, galime priversti pradėti šią komandą:

sudo systemctl start mongodb

Įgalinamas nuotolinis ryšys su „MongoDB“

„MongoDB 1“

Pagal numatytuosius nustatymus „MongoDB“ duomenų bazių sistema naudoja 27017 prievadą, kurį turime atidaryti Norėdami priimti nuotolinius ryšius, mes jį įgaliname tik naudodami šią komandą.

sudo ufw allow 27017

Pagal numatytuosius nustatymus prie 27017 prievado galima pasiekti tik iš vietinio adreso 127.0.0.1. Norint leisti nuotolinį ryšį su „MongoDB“, faile būtina pridėti serverio IP adresą /etc/mongodb.conf

Tiesiog redaguokite jį naudodami:

sudo nano

Ir mes galime pamatyti kažką panašaus į tai:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Kurį mes redaguojame naudodami duomenis iš savo serverio.

Leisdamas prieigą prie „MongoDB“ iš bet kur, jis suteikia neribotą prieigą prie duomenų bazės duomenų. Todėl geriau suteikti prieigą prie vietovės numatytojo MongoDB prievado IP adreso.

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

Kai tai bus padaryta, pakanka iš naujo paleisti paslaugą, kad pradžioje būtų įkelti nauji pakeitimai, mes tai darome:

sudo systemctl restart mongodb

Sukurkite vartotoją „MongoDB“ su slaptažodžiu

Pagal numatytuosius nustatymus duomenų bazė turi gana paprastą prieigą, todėl norėdami ją sustiprinti, galime sukurti vartotoją su slaptažodžiu.

„MongoDB“ naudoja SCRAM autentifikavimo mechanizmą pagal nutylėjimą. Naudojant SCRAM sistemoje, pateikiami vartotojo duomenys tikrinami pagal vartotojo vardą, slaptažodį ir autentifikavimo duomenų bazę.

Tiesiog paleiskite duomenų bazės konsolę naudodami šią komandą:

Mongo

Galime sudaryti esamų duomenų bazių sąrašą su:

show dbs

Mes galime sukurti vartotoją, kuris leis mums valdyti vartotojus ir funkcijas pavyzdžiui, sukurti vartotojus, suteikti ar atšaukti vartotojo vaidmenis ir kurti ar modifikuoti muitinės vaidmenis.

Tiesiog įveskite

use admin

Ir mes sukuriame vartotoją naudodami šią komandą, kur vartotojo vardą „root“ ir slaptažodį „slaptažodį“ pakeičiame prieigos reikalais, kurie, mūsų nuomone, yra tinkami.

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

Kai tai bus padaryta, turime įgalinti autentifikavimo metodą tam redaguosime šį failą:

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

Ir mes ieškosime kitos eilutės:

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

ir redaguoti taip, kad jis būtų toks:

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

Dabar paprasčiausiai perkrauname duomenų bazėje

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y Mes tikriname autentifikavimo metodą:

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

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Aptinkamas sakė

    Padėk man su šia KLAIDA.

    2021-03-24T21: 33: 16.233 + 0000 E QUERY [thread1] Klaida: sąrašasDuomenų bazių nepavyko: {
    «Gerai»: 0,
    "Errmsg": "administratoriui nesuteikta teisė vykdyti komandos {listDatabases: 1.0, $ db: \" admin \ "}",
    „Kodas“: 13,
    „CodeName“: „Neteisėtas“
    }:
    _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