Në këtë blog kemi folur për disa sisteme të bazës së të dhënave, ndër të cilat më të njohurat janë MariaDB dhe MySQL, pasi ato janë sistemet që zakonisht përfshihen në Xampp ose Lampp. Këtë herë do të flasim një sistem tjetër i cili është MongoDB.
MongoDB është një sistem i bazës së të dhënave NoSQL i orientuar në dokument me burim të hapur, Kjo është një sistem modern i menaxhimit të bazës së të dhënave të dokumenteve i krijuar për qëndrueshmëri të të dhënave me performancë të lartë, disponueshmëri e lartë, si dhe shkallëzim automatik, bazuar në teknologjinë e teknikës NoSQL.
Në vend që të ruajë të dhëna në tabela siç bëhet në bazat e të dhënave relacionale, MongoDB ruan strukturat e të dhënave në një dokument, e cila është një strukturë e të dhënave e përbërë nga çifte fushe dhe vlerash (dokumentet MongoDB janë të krahasueshme me objektet JSON).
Për shkak se siguron performancë të lartë dhe karakteristika të shkëlqyera të shkallëzimit, po përdoret për të ndërtuar aplikacione moderne që kërkojnë baza të dhënash të fuqishme, kritike për misionin dhe shumë të disponueshme.
Instalimi i MongoDB në Ubuntu
Për të instaluar këtë sistem të të dhënave në sistemin tonë, Ne vetëm duhet të hapim një terminal dhe të ekzekutojmë komandën e mëposhtme në të:
sudo apt install mongodb
Instalimi u krye, Shërbimi MongoDB do të fillojë automatikisht përmes systemd dhe procesi do të ekzekutohet në portin 27017. Ju mund të kontrolloni statusin e tij duke përdorur komandën:
sudo systemctl status mongodb
Nëse jo, ne mund ta detyrojmë fillimin me këtë komandë:
sudo systemctl start mongodb
Mundësimi i lidhjeve në distancë me MongoDB
Sistemi i bazës së të dhënave MongoDB si parazgjedhje përdor portin 27017 të cilin duhet ta hapim Në mënyrë që të pranojmë lidhje të largëta, ne e mundësojmë atë vetëm me komandën e mëposhtme.
sudo ufw allow 27017
Si parazgjedhje, porta 27017 mund të arrihet vetëm nga adresa lokale 127.0.0.1. Për të lejuar lidhje të largëta me MongoDB, është e nevojshme të shtoni adresën IP të serverit në skedar /etj/mongodb.conf
Thjesht redaktoni atë me:
sudo nano
Dhe mund të shohim diçka të ngjashme me këtë:
bind_ip = 127.0.0.1, your_server_ip #port = 27,017
Të cilat ne i redaktojmë me të dhënat nga serveri ynë.
Duke lejuar hyrjen në MongoDB nga kudo, ai jep qasje të pakufizuar në të dhënat në bazën e të dhënave. Prandaj, është më mirë të jepni hyrje në adresën IP të paracaktuar të vendndodhjes së portit MongoDB.
sudo ufw allow from your_server_IP/32 to any port 27017 sudo ufw status
Pasi të jetë bërë kjo, mjafton të rindizni shërbimin në mënyrë që ndryshimet e reja të ngarkohen në fillim, këtë e bëjmë me:
sudo systemctl restart mongodb
Krijoni një përdorues në MongoDB me fjalëkalim
By default, baza e të dhënave ka qasje mjaft të thjeshtë, kështu që për ta përforcuar këtë ne mund të krijojmë një përdorues me një fjalëkalim.
MongoDB përdor mekanizmin e vërtetimit SCRAM si parazgjedhje. Përdorimi i SCRAM në sistem verifikon kredencialet e përdoruesit të dhënë kundër emrit të përdoruesit, fjalëkalimit dhe bazës së të dhënave të vërtetimit.
Thjesht filloni konsolën e bazës së të dhënave me komandën e mëposhtme:
Mongo
Ne mund të bëjmë një listë të bazave të të dhënave ekzistuese me:
show dbs
Ne mund të krijojmë një përdorues që do të na lejojë të menaxhojmë përdoruesit dhe funksionet të tilla si krijimi i përdoruesve, dhënia ose revokimi i roleve të përdoruesve dhe krijimi ose modifikimi i roleve doganore.
Thjesht shkruaj
use admin
Dhe ne krijojmë përdoruesin me komandën e mëposhtme, ku ne zëvendësojmë emrin e përdoruesit "rrënjë" dhe fjalëkalimin "fjalëkalimin", nga kremtimet e hyrjes që ne besojmë se është e përshtatshme.
db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})
Pasi të jetë bërë kjo, ne duhet të mundësojmë metodën e vërtetimit për këtë ne do të ndryshojmë skedarin vijues:
sudo nano /lib/systemd/system/mongodb.service
Dhe do të kërkojmë rreshtin tjetër:
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Dhe redaktoni në mënyrë që të jetë si më poshtë:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
tani ne thjesht ristartojmë në bazën e të dhënave
systemctl daemon-reload sudo systemctl restart mongodb sudo systemctl status mongodb
Y Ne testojmë metodën e vërtetimit me:
mongo -u "usuario" -p --authenticationDatabase "contraseña"
Më ndihmoni me këtë GABIM.
2021-03-24T21: 33: 16.233 + 0000 E PYETJE [thread1] Gabim: listDatabases dështuar: {
«Ok»: 0,
"Errmsg": "nuk është i autorizuar nga administratori për të ekzekutuar komandën {listDatabases: 1.0, $ db: \" admin \ "}",
"Kodi": 13,
"Emri i Kodit": "I paautorizuar"
}:
_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