Kaip įdiegti MongoDB Ubuntu 18.04


MongoDB yra atvirojo kodo, moderni dokumentų duomenų bazių valdymo sistema, sukurta didelio našumo duomenų išlikimui, aukštam pasiekiamumui ir automatiniam mastelio keitimui, pagrįsta naujausia technologija. NoSQL. DalyjeMongoDB įrašas yra dokumentas, kuris yra duomenų struktūra, kurią sudaro laukų ir reikšmių poros (MongoDB dokumentus galima palyginti su JSON objektais).

Dėl didelio našumo ir puikių mastelio funkcijų jis naudojamas kuriant šiuolaikines programas, kurioms reikia galingų, svarbių ir didelio pasiekiamumo duomenų bazių.

Šiame straipsnyje paaiškinsime, kaip įdiegti MongoDB, valdyti jo paslaugą ir nustatyti pagrindinį autentifikavimą Ubuntu 18.04.

Svarbu: turėtumėte atkreipti dėmesį, kad MongoDB kūrėjai siūlo tik 64 bitų LTS (ilgalaikio palaikymo) Ubuntu leidimų paketus, pvz., 14,04 LTS (patikimas), 16,04 LTS (xenial) ir pan.

Taip pat skaitykite: kaip įdiegti „MongoDB“ Ubuntu 16.04/14.04 LTS

1 veiksmas: „MongoDB“ diegimas „Ubuntu 18.04“.

1. Oficialiose Ubuntu programinės įrangos paketų saugyklose yra naujausia MongoDB versija ir jas galima lengvai įdiegti naudojant APT paketų tvarkyklę.

Pirmiausia atnaujinkite sistemos programinės įrangos paketo talpyklą, kad būtų naujausia saugyklos sąrašų versija.

sudo apt update

2. Tada įdiekite „MongoDB“ paketą, kuriame yra keli kiti paketai, pvz., mongo-tools, mongodb-clients, mongodb-server< ir mongodb-server-core.

sudo apt install mongodb

3. Sėkmingai ją įdiegus, MongoDB paslauga bus paleista automatiškai per systemd, o procesas klausosi prievado 27017. Galite patikrinti jo būseną naudodami komandą systemctl, kaip parodyta.

sudo systemctl status mongodb

2 veiksmas: „MongoDB“ paslaugos valdymas

4. Diegimas MongoDB pateikiamas kaip sistemos paslauga ir gali būti lengvai valdomas naudojant standartines systemd komandas, kaip parodyta.

Norėdami sustabdyti MongoDB paslaugos vykdymą, paleiskite šią komandą.

sudo systemctl stop mongodb	

Norėdami paleisti MongoDB paslaugą, įveskite šią komandą.

sudo systemctl start mongodb

Norėdami iš naujo paleisti MongoDB paslaugą, įveskite šią komandą.

sudo systemctl restart mongodb	

Norėdami išjungti automatiškai paleidžiamą MongoDB paslaugą, įveskite šią komandą.

sudo systemctl disable mongodb	

Norėdami vėl įjungti MongoDB paslaugą, įveskite šią komandą.

sudo systemctl enable mongodb	

3 veiksmas: ugniasienėje įgalinkite nuotolinę MongoDB prieigą

5. Pagal numatytuosius nustatymus MongoDB veikia per prievadą 27017, kad būtų galima pasiekti iš visur, kur tik galite naudotis.

sudo ufw allow 27017

Tačiau įgalinus prieigą prie MongoDB iš bet kur, suteikiama neribota prieiga prie duomenų bazės duomenų. Taigi, geriau suteikti prieigą prie konkrečios IP adreso vietos numatytajam MongoDB prievadui naudojant šią komandą.

sudo ufw allow from your_server_IP/32 to any port 27017 
sudo ufw status

6. Pagal numatytuosius nustatymus prievadas 27017 klausosi tik vietinio adreso 127.0.0.1. Norėdami leisti nuotolinius MongoDB ryšius, turite pridėti savo serverio IP adresą į /etc/mongodb.conf konfigūracijos failą, kaip parodyta.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Išsaugokite failą, išeikite iš redaktoriaus ir iš naujo paleiskite MongoDB.

sudo systemctl restart mongodb

4 veiksmas: sukurkite MongoDB duomenų bazės pagrindinį vartotoją ir slaptažodį

7. Pagal numatytuosius nustatymus MongoDB yra išjungtas naudotojo autentifikavimas, todėl jis paleidžiamas be prieigos kontrolės. Norėdami paleisti mongo apvalkalą, paleiskite šią komandą.

mongo 

8. Prisijungę prie mongo apvalkalo, galite išvardyti visas galimas duomenų bazes naudodami šią komandą.

> show dbs

9. Įgalinti prieigos valdymą „MongoDB“ diegime, kad būtų užtikrintas autentifikavimas; reikalauti, kad vartotojai identifikuotų save kiekvieną kartą prisijungdami prie duomenų bazės serverio.

MongoDB pagal numatytuosius nustatymus naudoja Salted Challenge Response Authentication Mechanism (SCRAM) autentifikavimo mechanizmą. Naudodamas SCRAM, MongoDB patikrina pateiktus vartotojo kredencialus pagal vartotojo vardą, slaptažodį ir autentifikavimo duomenų bazę (duomenų bazė, kurioje vartotojas buvo sukurtas, kartu su vartotojo vardu padeda identifikuoti vartotoją).

Administratoriaus duomenų bazėje turite sukurti naudotojo administratorių (panašų į root naudotoją, esantį MySQL/MariaDB). Šis vartotojas gali administruoti vartotoją ir vaidmenis, pvz., kurti vartotojus, suteikti arba atšaukti naudotojų vaidmenis ir kurti arba keisti pasirinktinius vaidmenis.

Pirmiausia perjunkite į administratoriaus duomenų bazę, tada sukurkite root naudotoją naudodami šias komandas.

> use admin 
> db.createUser({user:"root", pwd:"=@!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Dabar išeikite iš mongo apvalkalo, kad įgalintumėte autentifikavimą, kaip paaiškinta toliau.

10. mongodb egzempliorius buvo paleistas be komandinės eilutės parinkties --auth. Turite įgalinti naudotojų autentifikavimą redaguodami /lib/systemd/system/mongod.service failą, pirmiausia atidarykite failą redaguoti taip.

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

Konfigūracijos skiltyje [Paslauga] raskite parametrą ExecStart.

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

Pakeiskite jį į taip:

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

Išsaugokite failą ir išeikite iš jo.

11. 8. Atlikę konfigūracijos failo pakeitimus, paleiskite „systemctl daemon-reload“, kad iš naujo įkeltumėte įrenginius, iš naujo paleistumėte „MongoDB“ paslaugą ir patikrintumėte jos būseną, kaip nurodyta toliau.

systemctl daemon-reload
sudo systemctl restart mongodb	
sudo systemctl status mongodb	

12. Dabar, kai bandote prisijungti prie mongodb, turite patvirtinti save kaip MongoDB naudotoją. Pavyzdžiui:

mongo -u "root" -p --authenticationDatabase "admin"

Pastaba: nerekomenduojama įvesti slaptažodžio komandinėje eilutėje, nes jis bus saugomas apvalkalo istorijos faile ir vėliau jį galės peržiūrėti užpuolikas.

Tai viskas! MongoDB yra atvirojo kodo, moderni be SQL duomenų bazių valdymo sistema, užtikrinanti didelį našumą, aukštą pasiekiamumą ir automatinį mastelio keitimą.

Šiame straipsnyje paaiškinome, kaip įdiegti ir pradėti naudoti MongoDB Ubuntu 18.04. Jei turite klausimų, naudokite toliau pateiktą komentarų formą, kad su mumis susisiektumėte.