Ebben a blogban néhány adatbázis-rendszerről beszéltünk, amelyek közül a legnépszerűbb a MariaDB és a MySQL, mivel ezek azok a rendszerek, amelyeket általában az Xampp vagy a Lampp tartalmaz. Ezúttal erről fogunk beszélni egy másik rendszer, amely MongoDB.
A MongoDB az nyílt forráskódú dokumentumorientált NoSQL adatbázis-rendszer, Ez egy modern dokumentumadat-kezelő rendszer, amelyet nagy teljesítményű adatok tartósságára terveztek, magas rendelkezésre állás, valamint automatikus méretezés, a NoSQL technika technológiáján alapulva.
Ahelyett, hogy az adatokat táblákba mentené, ahogyan azt relációs adatbázisokban végzik, a MongoDB az adatszerkezeteket egy dokumentumba menti, amely egy mező és érték párokat tartalmazó adatstruktúra (a MongoDB dokumentumok összehasonlíthatók a JSON objektumokkal).
Mivel nagy teljesítményt és kiváló skálázhatósági jellemzőket kínál, modern alkalmazások felépítéséhez használják, amelyekhez erőteljes, küldetéskritikus és magas rendelkezésre állású adatbázisok szükségesek.
MongoDB telepítés az Ubuntura
Az adatbázis-rendszer telepítéséhez a rendszerünkre, Csak meg kell nyitnunk egy terminált, és végre kell hajtanunk benne a következő parancsot:
sudo apt install mongodb
Telepítés kész, A MongoDB szolgáltatás automatikusan elindul a systemd-n keresztül és a folyamat a 27017. porton fog futni. Az állapotát a következő paranccsal ellenőrizheti:
sudo systemctl status mongodb
Ha nem, akkor kényszeríthetjük az indulást ezzel a paranccsal:
sudo systemctl start mongodb
Távoli kapcsolatok engedélyezése a MongoDB-hez
A MongoDB adatbázis-rendszer alapértelmezés szerint a 27017-es portot használja, amelyet meg kell nyitnunk A távoli kapcsolatok elfogadása érdekében csak a következő paranccsal engedélyezzük.
sudo ufw allow 27017
Alapértelmezés szerint a 27017-es port csak a 127.0.0.1 helyi címről érhető el. A távoli kapcsolatok engedélyezéséhez a MongoDB-hez hozzá kell adni a kiszolgáló IP-címét a fájlba /etc/mongodb.conf
Csak szerkessze a következővel:
sudo nano
Ehhez hasonlót is láthatunk:
bind_ip = 127.0.0.1, your_server_ip #port = 27,017
Amit a szerverünk adataival szerkesztünk.
Ha mindenhonnan hozzáférést biztosít a MongoDB-hez, korlátlan hozzáférést biztosít az adatbázisban lévő adatokhoz. Ezért jobb hozzáférést biztosítani a MongoDB port helyspecifikus alapértelmezett IP-címéhez.
sudo ufw allow from your_server_IP/32 to any port 27017 sudo ufw status
Ha ez megtörtént, elég újraindítani a szolgáltatást, hogy az új változások az elején betöltődjenek, ezt tesszük:
sudo systemctl restart mongodb
Hozzon létre egy felhasználót a MongoDB-ben jelszóval
Alapértelmezés szerint az adatbázis meglehetősen egyszerű hozzáféréssel rendelkezik, így ennek megerősítése érdekében létrehozhatunk egy felhasználót jelszóval.
A MongoDB az SCRAM hitelesítési mechanizmust használja alapértelmezés szerint. Az SCRAM használata a rendszeren ellenőrzi a mellékelt felhasználói hitelesítő adatokat a felhasználói név, a jelszó és a hitelesítési adatbázis alapján.
Indítsa el az adatbázis-konzolt a következő paranccsal:
Mongo
Készíthetünk egy listát a meglévő adatbázisokról:
show dbs
Hozhatunk létre egy felhasználót, amely lehetővé teszi számunkra a felhasználók és a funkciók kezelését ilyen például a felhasználók létrehozása, felhasználói szerepkörök megadása vagy visszavonása, valamint a vámos szerepek létrehozása vagy módosítása.
Csak gépelj
use admin
És a következő paranccsal hozzuk létre a felhasználót, ahol kicseréljük a "root" felhasználó nevét és a "jelszó" jelszót az általunk megfelelőnek ítélt hozzáférési lehetőségekre.
db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})
Miután ez megtörtént, engedélyeznünk kell a hitelesítési módszert ehhez a következő fájlt fogjuk szerkeszteni:
sudo nano /lib/systemd/system/mongodb.service
És keressük a következő sort:
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
és szerkesztése úgy, hogy a következő legyen:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Most egyszerűen újraindítjuk az adatbázisban
systemctl daemon-reload sudo systemctl restart mongodb sudo systemctl status mongodb
Y A hitelesítési módszert a következőkkel teszteljük:
mongo -u "usuario" -p --authenticationDatabase "contraseña"
Segítsen nekem ebben a hibában.
2021-03-24T21: 33: 16.233 + 0000 E Lekérdezés [thread1] Hiba: listDatabases sikertelen: {
«Ok»: 0,
"Errmsg": "nem engedélyezett az adminisztrátoron a {listDatabases: 1.0, $ db: \" admin \ "} parancs végrehajtására,
"Kód": 13,
"CodeName": "Jogosulatlan"
}:
_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