50% kedvezmény minden csomagra, korlátozott ideig. Kezdőár: $2.48/mo
12 perc van hátra
Adatbázisok és Analitika

Hogyan telepítsd a MongoDB-t a Ubuntu három legújabb verziójára (Lépésről lépésre)

Jim Schwarz By Jim Schwarz 12 perc olvasás
A MongoDB eredeti szimbóluma egy futurisztikus szerveren, amelyre a MongoDB telepítésének célja a Ubuntu+ szlogen arról, mire számítunk a cikkből + a cikk címe + Cloudzy márkalogologo

Úgy döntött, hogy az MongoDB-et használja, amely nagyszerű alternative to MariaDB MERN-stack alkalmazás, analitikai platform vagy bármilyen dokumentum-alapú rendszer építéséhez, de nehézségekbe ütközött a hagyományos Linux parancssorokkal és számos terminál hibával. 

Ne aggódjon, mert ez az útmutató mindent tartalmaz az MongoDB Ubuntu-ra történő telepítéséhez szükséges információból az A-tól a Z-ig.

MongoDB használ X.Y.Z verziózás. 8.0 van egy kiadási sorozat, valamint 8.2 van egy mellékos kiadás az 8.0 cikluson belül. Az alverziók új funkciókat adnak az ugyanazon főverzióhoz, és a 8.0-tól kezdve helyszíni telepítésekhez is elérhetőek meghatározott használati esetekhez (például Search és Vector Search). Az MongoDB 8.0 az Ubuntu-en működik 24.04 (Noble), 22.04 (Jammy) és 20.04 (Focal) 64 bites rendszereken, ARM64 támogatással kiválasztott platformokon.

GnuPG és Curl előfeltételek

A hivatalos csomag telepítése előtt mongodb-org az Ubuntu két előfeltételt igényel: GnuPG és Curl. Ezek az eszközök engedélyt adnak az Ubuntu-nek az MongoDB letöltésére, mivel az Ubuntu saját mongodb csomagja nem az MongoDB Inc. kezeli, és ütközik a hivatalos mongodb-org csomaggal. Ha már telepítette mongodb akkor eltávolítás szükséges.

Ezután futtassa a következő parancsot sudo apt-get install gnupg curl. A Curl egy eszköz az internetről való fájlletöltéshez, és szükséges az MongoDB biztonsági kulcsának letöltéséhez. A GnuPG azt használja az Ubuntu, hogy ellenőrizze a szoftver hitelességét. Ha a GnuPG hiányzik, az Ubuntu nem tudja ellenőrizni az MongoDB csomagokat.

Ellenőrizze, hogy a terminál sikeresen telepítette-e a GnuPG-t és a Curl-t. Ha igen, így nézhessen ki:Ubuntu terminál kimenetele a GnuPG és Curl hozzáadása után

MongoDB GPG kulcs importálása

Az Ubuntu csomagkezelője, az APT, GPG kulcsokat használ a csomagok ellenőrzésére a telepítés előtt. E GPG kulcs nélkül az Ubuntu nem engedi az MongoDB adattárai hozzáadását. Írja be a következő parancsot a terminálba a kulcs hozzáadásához:

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

Ha működik, a terminál kimenete így kell kinézzen:Ubuntu terminál az MongoDB GPG kulcsának sikeres hozzáadása után.

Egyszerűen fogalmazva, ez a parancs letölti az MongoDB biztonsági aláírását, szöveges formátumból az Ubuntu által olvasható formátumba konvertálja, és egy biztonságos rendszermappában menti. A parancssor szakaszonkénti bontása:

  1. curl -fsSL URL letölti az MongoDB hivatalos kulcsát
  2. –dearmor konvertálja a kulcsot szöveges formátumból bináris formátumba az Ubuntu számára
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg a bináris fájlt egy olyan mappába menti, ahol az Ubuntu a megbízható kulcsokat tárola

Ha pontosan követed az összes parancssori utasítást, a nyilvános GPG-kulcs hiba nélkül hozzáadódik. Egyes felhasználók azonban problémákba ütköznek az MongoDB letöltésekor, mivel a GPG-kulcs nem egyezik. Ilyen típusú hibák:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

akkor fordulnak elő, ha nem követed pontosan a GPG-kulcs parancssori utasításait, hanem helyette az sudo apt-key parancsot használod, mert a modern Ubuntu nem ajánlja ezt.

Az MongoDB adattár hozzáadása

Az MongoDB adattárának hozzáadása egy olyan fájlt hoz létre, amely közli az Ubuntu-vel, hogy az MongoDB csomagjai egy adott internetes címen érhetőek el. Hozd létre a listafile-t a /etc/apt/sources.list.d/mongodb-org-8.0.list helyen az adattár sorának beírásával a echo … | sudo tee …

parancs segítségével. Ennél kezdődik a trükkös rész, mivel az Ubuntu különböző verziói a parancs eltérő módosítását igénylik. Most három, korábban említett Ubuntu verzión fogjuk megvizsgálni, hogyan lehet importálni a listafile-t.

Ubuntu 24.04 (Noble)

Az Ubuntu 24.04-en a listafile létrehozásához egyszerűen írd be: echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list a terminálodban.

Ez zavarosnak tűnhet, de ne aggódj. Amint felbontjuk a parancsot szekciókra, kristálytisztává válik.

  1. echo szöveget nyomtat
  2. /etc/apt/sources.list.d az a mappa, ahol az Ubuntu a szoftverforrás-definíciókat tárola. A mappában minden .list formátumú fájl az Ubuntu-t egy adott helyre irányítja, ahonnan szoftvert lehet letölteni
  3. Alapértelmezésben normális felhasználóként nem írhatod ki a rendszermappákat. póló különleges engedélyt ad a felhasználónak a szöveg rendszerfájlokba írásához, miközben a sudo
  4. nemes az Ubuntu 24.04 kódneve. Az Ubuntu minden verziójának van kódneve, mint például:
Verzió Kódnév
20.04 Fókusz
22.04 Jammy
24.04 Nemes

Ha nem egyeztetted az Ubuntu verziódat a megfelelő parancssori utasítással, az Ubuntu nem ismeri fel az MongoDB adattárát.

Ubuntu 22.04 (Jammy)

A listafile Ubuntu Jammy-hez való hozzáadása szinte ugyanez, de a parancsot úgy kell megadnod, hogy lecseréled az nemes vele jammyI don't see any English text to translate in your message. Please provide the English text you'd like me to translate to Hungarian, and I'll translate it following the rules you've specified.

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Ügyelj arra, hogy az az Ubuntu verziódat megfelel, különben megint sikertelen lesz.

Ubuntu 20.04 (Focal)

Kövesd ugyanezeket a lépéseket itt is, de helyett az nemes or jammy, tedd be focal:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Most már a tárház beállítása után folytathatod a telepítéssel mongodb-org.

Frissítsd a csomagadatbázist

Most, hogy az Ubuntu felismeri a tárházat, újra kell töltened a csomagadatbázist, hogy az MongoDB is benne legyen. Futtasd az alábbi parancsot:

sudo apt-get update

Ez a parancs minden Ubuntu verzióban azonos, és ha kihagyod, az Ubuntu nem fogja tartalmazni az MongoDB-t. Ha a parancs sikeresen lefut, a terminálodat valahogy így kell kinéznie:Ubuntu terminálátvétel az sudo apt-get update parancs futtatása után

 Most, hogy frissítetted a csomagadatbázist, ideje letölteni az MongoDB csomagokat.

Telepítsd az MongoDB Community Server-t

Az MongoDB több verziójából lehet választani, de általában a legújabb stabil verzió a legjobb választás. A legújabb stabil verzió telepítéséhez futtasd sudo apt-get install -y mongodb-org

Az Ubuntu letöltötte az MongoDB csomagokat, telepítette őket, létrehozott egy MongoDB felhasználói fiókot és adatkönyvtárat, valamint rendszeri szolgáltatásként regisztrálta az MongoDB-t. Eddig azt fedeztük fel, hogyan lehet az MongoDB-t az Ubuntu-re telepíteni. Most pedig indítsuk el.

Hogyan indítsd el az MongoDB-t

Az MongoDB futtatásához meg kell adnod az Ubuntu szolgáltatáskezelőjének, a systemd-nek, hogy ismerje fel az MongoDB-t háttérszolgáltatásként. Ehhez írd be a következő parancsot a terminálodbó:

sudo systemctl start mongod

Ha a parancs sikeresen lefut, az Ubuntu háttéralkalmazásként megnyitja az MongoDB-t. Ha nem sikerül, lehetséges, hogy egy ehhez hasonló hibát kapsz: Nem sikerült elindítani a mongod.service-t..

Ez több gyakori probléma miatt fordulhat elő:

  • Konfigurációs fájl hibája in /etc/mongod.conf (YAML behúzási hibák gyakoriak)
  • Portkonfliktus (a 27017-es port már foglalt)
  • Engedély hiba az adatok vagy naplókönyvtárain (var/lib/mongodb vagy var/log/mongodb)
  • Lemez megtelt or sérült fájlrendszer állapota

Három parancs a probléma diagnosztizálásáhozFuturisztikus szerverbeállítás + három ubuntu terminálparancs + felhő frissítési útvonallal.

Könnyű azt mondani, mi lehetne rossz a konfigurációddal, hogy az MongoDB nem működik, de sokkal nehezebb az egzakt hibaforrást azonosítani. Három egyszerű módszer, amellyel diagnosztizálhatod, honnan eredhet a hiba:

  1. Szolgáltatás állapotának ellenőrzése: sudo systemctl status mongod –no-pager
  2. Részletes naplók ellenőrzése (ez a legfontosabb): sudo journalctl -u mongod –no-pager -n 100
  3. Az MongoDB saját naplófájljának ellenőrzése

Azonban figyeljen arra, hogy ha a lemez megtelt vagy a rendszerfájlok megsérültek, a megoldás inkább a hardverrhez kapcsolódik, mint a szoftverhez. Előfordulhat, hogy a felhasználóknak jobb felszerelésre van szükségük a kiszolgálóhoz ahhoz, hogy az MongoDB hatékonyan fusson, ha a jelenlegi beállításuk elavult. 

Ha nem engedheti meg magának egy teljes kiszolgálót, fontoljon meg az Cloudzy-t Ubuntu VPS tiszta élményért a saját magánszerver-en az Ubuntu disztribúcióval, amit választ. Ez tartalmaz 24/7 támogatás és akár 40Gbps hálózati sebességet az NVMe SSD és DDR5 RAM tárolás.

Ráadásul nagyon alacsony a késleltetése, 99.95% üzemidő, és egy 14 napos pénzvisszafizetési garancia. Nem csak ez, de elérhető 12 világszerte különböző helyeken megfizethető áron.

Három leggyakoribb módszer, hogy az MongoDB működjön

Nincs semmilyen abszolút módszer arra, hogy egyidejűleg felismerd a rendszered pontos problémáját az MongoDB-nel és azt egyetlen könnyű lépésben megoldja. Ezért itt van néhány gyakori megoldás, amellyel remélhetőleg az MongoDB újra működésbe lendül.

  1. YAML konfigurációs behúzási hiba. Tegyük fel, hogy szerkesztettél /etc/mongod.conf ellenőrizd újra a behúzást a következő megadásával: sudo nano /etc/mongod.conf. Az YAML fájl nagyon érzékeny a szóközökre, ezért győződj meg arról, hogy csak két szóköz van szintenként a /etc/mongod.conf.
  2. A 27017-es port foglalt. Ha valami más használja a 27017-es portot, állítsd le vagy módosítsd az MongoDB portját a mongod.conf. Ha bizonytalan vagy azzal kapcsolatban, hogy mi fut a 27017-es porton, futtass sudo ss -lntp | grep 27017 megnézni
  3. Engedélyi probléma az adatkönyvtárban. Néha az MongoDB nem rendelkezik engedéllyel, hogy fusson a rendszeren, ezért egyáltalán nem működik. Először futtass sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, majd indítsd újra az MongoDB-t a sudo systemctl restart mongod

Szerint Az MongoDB hivatalos weboldala, egy másik megoldás erre a problémára a démon újratöltése: sudo systemctl daemon-reload, majd az első parancs futtatása: sudo systemctl start mongod, újra.

Ha nincs mongod.service, a telepítés nem helyezte el a systemd egységet, ezért telepítsd újra a mongodb-org csomag beállítása

Miután mindez megvan, ellenőrizheted, hogy az MongoDB sikeresen indult-e a következő paranccsal: sudo systemctl status mongod. Ha a terminál azt jelzi, hogy aktív (futó), akkor jó vagy. De vannak további konfigurációk, amelyek sokkal könnyebbé teszik a munkádat.

Az MongoDB automatizálásaFuturisztikus szerver beállítás az MongoDB automatizálási szimbólummal, terminál az MongoDB paranccsal és naplófájl

Az MongoDB nem indul el automatikusan, amikor bekapcsolod a szervert; minden alkalommal meg kell ismételned néhány lépést. Ha akarod, utasíthatod az Ubuntu-t, hogy indítsa el az MongoDB-t az asztalra való bejelentkezés után.

Egyszerűen futtasd sudo systemctl enable mongod a terminálodban, amely mostantól azt fogja megmondani a rendszerednek, hogy futtasd az MongoDB-t minden újraindítás után. Ráadásul újraindíthatod az mongod folyamatot a következő parancs kiadásával: sudo systemctl restart mongod. Emellett a felhasználóknak szükségük lehet a folyamat követésére az esetleges hibákért vagy fontos üzenetekért az alábbi fájlban található kimenet áttekintésével:

/var/log/mongodb/mongod.log

Most, hogy mindenre sor került, kezdjük el használni az MongoDB-t.

Az MongoDB shell megnyitása

Az adatbázissal való interakcióhoz a felhasználóknak meg kell nyitniuk egy MongoDB shellt az alábbi parancs kiadásával: mongosh. Gondolj rá úgy, mint egy dedikált parancssor-terminál az MongoDB-hez vagy egy MySQL konzol. Alternatívaként interakcióba léphetsz az MongoDB-vel grafikus eszközök segítségével, például az MongoDB driverekel. De ha terminálból szeretnél interakcióba lépni, mongosh erre a célra készült.

Az MongoDB mostantól teljesen működőképes, de vannak további lépések, amelyeket figyelembe kell venned a biztonság érdekében.

Az MongoDB hitelesítésének beállításaMongoDB hitelesítési folyamat + zárolás szimbólum + hitelesítés megerősítése.

Az MongoDB alapértelmezésben nem rendelkezik jelszóvédelemmel, mivel már hozzáféréssel kell rendelkezned egy felhasználó létrehozásához. Íme egy egyszerű megoldás ennek megvalósítására

Adminisztrátor felhasználó létrehozása

Először az admin adatbázisra kell váltanod:

use admin

Ezután hozz létre egy felhasználót ezzel: db.createUser({…}). Töltsd ki a következőkkel:

  • Felhasználónév
  • Jelszó
  • Szerepkör

A szerepkörhöz javasolt típusok root ami teljes kontrollt vagy admin hozzáférést jelent.

Hitelesítés engedélyezése

Most, hogy már saját felhasználónk van, szerkesztenünk kell a /etc/mongod.conf fájlt. Ez azért van, mert ez a fájl vezérli az MongoDB viselkedését. De ne felejtsd el, hogy a fájl szerkesztése után mindig újra kell indítanod a mongod utána a szolgáltatás sudo systemctl restart mongod. Amit itt meg kell változtatnunk, az egy authorization nevű paraméter, amely így néz ki:

security:

  authorization:

Az azonosítási folyamat befejezéséhez módosítsd az engedélyezési értéket az alábbi módon:

security:

  authorization: enabled

Mostantól az MongoDB bejelentkezést igényel, így a hitelesítés lezárult. Lépjünk tovább az MongoDB teljes potenciálját kihasználó beállításokra.

Nyisd meg a tűzfalat

Ahogy korábban említettük, az MongoDB a 27017-es porton fut. Mivel a tűzfalak alapértelmezés szerint blokkolják a portokat, engedélyeznünk kell a tűzfalban, hogy az alkalmazások a 27017-es porton futjanak. Ehhez egyszerűen futtassa ezt a parancsot:

ufw allow from YOUR_IP to any port 27017

Másik lehetőségként a következő parancsot is kiadhatod ufw allow 27017, de vigyázz, mert így az egész internet hozzáférhet ahhoz a porthoz. A legbiztonságosabb megoldás valószínűleg az első lehetőség, amely csak az IP-címedről engedélyezi a port elérését.

Az MongoDB futtatásakor felmerülhetnek problémák, például távoli hozzáférési problémák. Maradj velünk, megtudod, hogyan lehet őket megoldani.

Távolról történő hozzáférés problémájaKiszolgáló beállítása 3 monitorral az MongoDB távololi hozzáférési beállításainak konfigurálása + terminálparancsok.

MongoDB indulással bindIp. bindIp korlátozza a MongoDB-t a(z) 127.0.0.1, amely csak helyi kapcsolatokat engedélyez. Ha tehát egy másik helyről szeretnél csatlakozni az MongoDB szerverhez, nem kapnál hozzáférést, mert az MongoDB alapértelmezés szerint csak helyi kapcsolatokat engedélyez, hacsak másként nem állítod be.

Most pedig irányítsd a kurzort ide: /etc/mongod.conf, és három sort fogsz látni, mint ez:

net:

  port: 27017

  bindIp: 127.0.0.1

Ha szeretnél távolról csatlakoztatni a mongod felhasználót, módosítsd az alábbi értékeket így:

net:

  port: 27017

  bindIp: 0.0.0.0

Utána indítsd újra az mongod szolgáltatás sudo systemctl restart mongod szolgáltatást, mint bármelyik másik szerkesztéskor a fájlban.

Most már engedélyt adtál az mongod szolgáltatásnak, hogy távolról fogadjon kapcsolatokat. Óvatosan azonban, mivel így az egész internet előtt kiteszted az adatbázisodat, ha még nem állítottál be hitelesítést az mongod felhasználóhoz. Számtalan bot folyamatosan keresi az MongoDB portokat, ezért mindig gondoskodj arról, hogy a mongod felhasználónak erős jelszava legyen.

Áttekintés

Gratulálunk, megtettél mindent az optimalizált MongoDB szolgáltatás létrehozásához az Ubuntu rendszeredon. Itt van egy gondolattérkép az összes lépéshez, amit ebben a cikkben bemutattunk.

Parancs Mit csinál
apt frissítés Szoftverlista frissítése
apt telepítés Szoftver telepítése
curl Fájl letöltése
gpg Titkosítási kulcsok kezelése
echo Szöveg nyomtatása
póló Írás védett fájlba
systemctl start Szolgáltatás indítása
systemctl engedélyezése Indítás a rendszer felbooting után
systemctl állapota Szolgáltatás ellenőrzése
mongosh MongoDB shell elindítása
Szerkesztés /etc/mongod.conf Hitelesítés engedélyezése
ufw Tűzfal kezelése
bindIp Távolról való hozzáférés engedélyezése

Ez segít jobban megérteni az egész folyamatot. De ha az MongoDB beállítása egyedül túl sok lenne, indítsd el az Cloudzy MongoDB VPS szerverét az MongoDB előtelepítésével, az Ubuntu 24.04 LTS rendszeredon.

Jár hozzá 99.95% uptime, 24/7 támogatás, és egy 14 napos pénzvisszaadási garancia. Ezen felül akár 40 Gbps sávszélességet is támogat a DDR5 RAM és NVMe SSD tárhelyének köszönhetően. Ne aggódj az elhelyezkedésed miatt sem, hiszen elérhető 12 helyen a világon kedvező áron.

Végül sikeresen beállítottad az MongoDB szolgáltatásodat a termelési szintű terheléssel és üzleti követelményekkel együtt.

Megosztás

További bejegyzések a blogból

Folytass olvasást.

Intelligens adatkezelés vállalkozásának: Felhőalapú tárolás és biztonsági mentési stratégiák az VPS segítségével
Adatbázisok és Analitika

Intelligens adatkezelés vállalkozásának: Felhőalapú tárolás és biztonsági mentési stratégiák az VPS segítségével

A VPS az biztonságos üzleti adatkezeléshez az a stratégia, amelyet akkor ajánlok, amikor egy vállalat úgy dönt, hogy ideje abbahagyni a fájlok laptopok, e-mail mellékletek és félig elfelejtett mappák között való jugírozást.

Rexa CyrusRexa Cyrus 7 perces olvasás
Materializált nézet vagy nézet
Adatbázisok és Analitika

Materializált nézet vagy nézet: A szerepük az adatbázisokban

Az adatbázisrendszerekben a materializált nézet egy adatbázis-objektum, amely egy lekérdezés előre kiszámított eredményeit fizikai táblázatként tárolja. Mivel az adatok valójában lemezen vannak tárolva, az összetett

Ivy JohnsonIvy Johnson 7 perces olvasás
SnowFlake vs DataBricks
Adatbázisok és Analitika

Databricks vs Snowflake: Az adatszakértők pártatlan összehasonlítása 🧱❄️

Azoknak az üzleti szervezeteknek, amelyek adatokra hagyatkoznak a döntéshozatalban – legyen szó e-kereskedelmi platformokról, amelyek a vásárlói viselkedést nyomon követik, pénzügyi intézményekről, amelyek trendeket prognosztizálnak, vagy technológiai vállalatokról

Allan Van KirkAllan Van Kirk 13 perces olvasás

Készen áll az üzembe helyezésre? 2,48 dollártól havonta.

Független felhőszolgáltató 2008 óta. AMD EPYC, NVMe, 40 Gbps. 14 napos pénzvisszafizetési garancia.