U ovom blogu govorili smo o nekim sustavima baza podataka, među kojima su najpopularniji MariaDB i MySQL, jer su to sustavi koji su obično uključeni u Xampp ili Lampp. Ovaj put ćemo razgovarati o tome drugi sustav koji je MongoDB.
MongoDB je NoSQL sustav baza podataka orijentiran na dokumente otvorenog koda, Ovo je suvremeni sustav upravljanja bazama podataka dokumenata dizajniran za trajanje podataka visokih performansi, visoka dostupnost, kao i automatsko skaliranje, temeljeno na tehnologiji tehnike NoSQL.
Umjesto spremanja podataka u tablice kao što se to radi u relacijskim bazama podataka, MongoDB sprema podatkovne strukture u dokument, koja je struktura podataka koja se sastoji od parova polja i vrijednosti (MongoDB dokumenti usporedivi su s JSON objektima).
Budući da pruža visoke performanse i izvrsne karakteristike skalabilnosti, koristi se za izgradnju modernih aplikacija koje zahtijevaju moćne, kritične i visoko dostupne baze podataka.
MongoDB instalacija na Ubuntu
Da biste instalirali ovaj sustav baza podataka na naš sustav, Moramo samo otvoriti terminal i u njemu izvršiti sljedeću naredbu:
sudo apt install mongodb
Instalacija gotova, Usluga MongoDB pokrenut će se automatski putem systemd i postupak će se izvoditi na portu 27017. Njegov status možete provjeriti pomoću naredbe:
sudo systemctl status mongodb
Ako ne, možemo prisiliti start pomoću ove naredbe:
sudo systemctl start mongodb
Omogućavanje udaljenih veza s MongoDB-om
Sustav baze podataka MongoDB prema zadanim postavkama koristi port 27017 koji moramo otvoriti Da bismo prihvatili udaljene veze, omogućujemo ih samo sljedećom naredbom.
sudo ufw allow 27017
Prema zadanim postavkama, portu 27017 može se pristupiti samo s lokalne adrese 127.0.0.1. Da biste omogućili udaljene veze s MongoDB-om, u datoteku je potrebno dodati IP adresu poslužitelja /etc/mongodb.conf
Samo ga uredite pomoću:
sudo nano
I možemo vidjeti nešto slično ovome:
bind_ip = 127.0.0.1, your_server_ip #port = 27,017
Koje uređujemo podacima s našeg poslužitelja.
Omogućujući pristup MongoDB-u odasvuda, on daje neograničen pristup podacima u bazi podataka. Stoga je bolje dati pristup zadanoj IP adresi porta MongoDB koja je specifična za mjesto.
sudo ufw allow from your_server_IP/32 to any port 27017 sudo ufw status
Kada se to učini, dovoljno je ponovno pokrenuti uslugu tako da se nove promjene učitaju na početku, to radimo sa:
sudo systemctl restart mongodb
Stvorite korisnika u MongoDB-u s lozinkom
Prema zadanim postavkama baza podataka ima prilično jednostavan pristup, pa da bismo to ojačali možemo stvoriti korisnika s lozinkom.
MongoDB koristi mehanizam provjere autentičnosti SCRAM prema zadanim postavkama. Korištenje SCRAM-a na sustavu provjerava isporučene vjerodajnice korisnika prema korisničkom imenu, lozinci i bazi podataka za provjeru autentičnosti.
Jednostavno pokrenite konzolu baze podataka sljedećom naredbom:
Mongo
Popis postojećih baza podataka možemo napraviti sa:
show dbs
Možemo stvoriti korisnika koji će nam omogućiti upravljanje korisnicima i funkcijama kao što je stvaranje korisnika, dodjeljivanje ili opoziv korisničkih uloga i stvaranje ili izmjena carinskih uloga.
Samo tipkajte
use admin
I korisnika kreiramo sljedećom naredbom, gdje zamjenjujemo ime korisnika "root" i lozinku "lozinku", pristupnim krecencijama koje smatramo prikladnima.
db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})
Nakon što je to učinjeno, moramo omogućiti metodu provjere autentičnosti za ovo ćemo urediti sljedeću datoteku:
sudo nano /lib/systemd/system/mongodb.service
I potražit ćemo sljedeći redak:
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
A uredite tako da bude sljedeće:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Sada jednostavno se ponovno pokrenemo u bazi podataka
systemctl daemon-reload sudo systemctl restart mongodb sudo systemctl status mongodb
Y Način provjere autentičnosti testiramo na:
mongo -u "usuario" -p --authenticationDatabase "contraseña"
Pomozite mi s ovom GREŠKOM.
2021-03-24T21: 33: 16.233 + 0000 E UPIT [nit1] Pogreška: popis baza podataka nije uspio: {
«U redu»: 0,
"Errmsg": "nije ovlašten na administratoru za izvršavanje naredbe {listDatabases: 1.0, $ db: \" admin \ "}",
"Šifra": 13,
"CodeName": "Neovlašteno"
}:
_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