Sleva 50% všechny plány, časově omezená nabídka. Od $2.48/mo
12 min zbývá
Databáze a analýzy

Jak nainstalovat MongoDB na tři nejnovější verze Ubuntu (krok za krokem)

Jim Schwarz By Jim Schwarz 12 minut čtení
Originální symbol MongoDB zobrazený na futuristickém serveru pro instalaci MongoDB na Ubuntu + tagline o tom, co článek přináší + název článku + logo značky Cloudzy

Rozhodli jste se pro MongoDB, výbornou alternative to MariaDB když chcete vytvořit aplikaci na MERN stacku, analytickou platformu nebo libovolný systém s dokumentovou databází, ale narazili jste na problémy s příkazovým řádkem a nekonečnými chybami v terminálu. 

Ale nebojte se, tahle příručka vám podrobně vysvětlí vše, co potřebujete vědět k instalaci MongoDB na Ubuntu.

MongoDB používá X.Y.Z verzování. 8.0 je hlavní řada verzí a 8.2 je vedlejší vydaní v rámci cyklu verze 8.0. Vedlejší vydání přidávají funkce v rámci stejného hlavního cyklu a od verze 8.0 se nabízejí také pro lokální instalace pro konkrétní případy použití (například Search a Vector Search). MongoDB 8.0 na Ubuntu podporuje 24.04 (Noble), 22.04 (Jammy) a 20.04 (Focal) na 64bitových systémech, s podporou ARM64 na vybraných platformách.

Požadavky: GnuPG a Curl

Než nainstalujete oficiální mongodb-org balíček Ubuntu vyžaduje dvě předpoklady: GnuPG a Curl. Tyto nástroje dávají Ubuntu oprávnění ke stažení MongoDB, protože Ubuntu má své vlastní mongodb balíček není udržován společností MongoDB Inc. a je v konfliktu s oficiální verzí mongodb-org balíček. Pokud jste ho již nainstalovali mongodb ujistěte se, že jej odinstalujete.

Dále spusťte příkaz sudo apt-get install gnupg curl. Curl je nástroj pro stahování souborů z internetu a je potřebný k získání bezpečnostního klíče MongoDB. GnuPG používá Ubuntu k ověření autenticity software. Pokud GnuPG chybí, Ubuntu nemůže ověřit balíčky MongoDB.

Ověřte, že se vám v terminálu podařilo nainstalovat GnuPG a Curl. Pokud ano, mělo by to vypadat takto:Výstup terminálu Ubuntu po přidání GnuPG a Curl

Import klíče GPG MongoDB

Správce balíčků Ubuntu, APT, používá klíče GPG k ověření balíčků před instalací. Bez tohoto klíče GPG Ubuntu neumožní přidání úložiště MongoDB. Chcete-li klíč přidat, zadejte do terminálu tento příkaz:

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

Pokud se vše podaří, výstup terminálu by měl vypadat takto:Terminál Ubuntu po úspěšném přidání klíče GPG MongoDB.

Zjednodušeně řečeno, tento příkaz stáhne bezpečnostní podpis MongoDB, převede ho do formátu, kterému rozumí Ubuntu, a uloží ho do bezpečné složky systému. Tady je rozbor příkazu po částech:

  1. curl -fsSL URL stáhne oficiální klíč MongoDB
  2. –dearmor převede klíč z textového formátu do binární podoby, kterou porozumí Ubuntu
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg uloží binární soubor do složky, kde Ubuntu uchovává důvěryhodné klíče

Pokud přesně dodržíte všechny příkazy, veřejný klíč GPG se přidá bez problémů. Někteří uživatelé se ale setkají s problémy při stahování MongoDB kvůli neshodě klíče GPG. Chyby jako:

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

Se vyskytnout, když nebudete přesně následovat příkazy pro klíč GPG výše a místo toho použijete sudo apt-key protože moderní Ubuntu to nedoporučuje.

Přidejte úložiště MongoDB

Přidání úložiště MongoDB vytvoří soubor, který řekne Ubuntu, že balíčky MongoDB jsou dostupné na konkrétní internetové adrese. Vytvořte soubor seznamu v cestě /etc/apt/sources.list.d/mongodb-org-8.0.list tak, že do něj napíšete řádek úložiště pomocí echo … | sudo tee …

Tady se věci komplikují, protože různé verze Ubuntu vyžadují jinou variantu tohoto příkazu. Teď se podíváme, jak importovat soubor seznamu ve třech verzích Ubuntu, které jsme zmínili výše.

Ubuntu 24.04 (Noble)

Chcete-li vytvořit soubor seznamu na Ubuntu 24.04, jednoduše zadejte 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 v terminálu.

Vypadá to matoucně, ale nebojte se. Jakmile si příkaz rozložíme na části, bude to jasné.

  1. echo tiskne text
  2. /etc/apt/sources.list.d je složka, v níž Ubuntu uchovává definice softwarových zdrojů. Každý soubor s .list formát v adresáři Ubuntu odkazuje na konkrétní umístění, odkud se stahuje software
  3. Normální uživatel nemůže standardně zapisovat do systémových složek. tričko uděluje uživateli speciální oprávnění pro zápis do systémových souborů, a to při použití sudo
  4. vznešený je kódové jméno pro Ubuntu 24.04. Každá verze Ubuntu má podobné kódové jméno:
Verze Název kódu
20.04 Ohnisková
22.04 Jammy
24.04 Vznešený

Pokud verze Ubuntu neodpovídá správnému příkazovému řádku, Ubuntu nezpozní úložiště MongoDB.

Ubuntu 22.04 (Jammy)

Přidání souboru seznamu do Ubuntu Jammy vypadá stejně, ale musíte zadat příkazový řádek a nahradit vznešený s jammyI don't see the English text to translate in your message. Could you please provide the UI label or phrase you'd like me to translate to Czech?

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

Ujistěte se, že odpovídá vaší verzi Ubuntu, jinak to opět selže.

Ubuntu 20.04 (Focal)

Postupujte podle stejných kroků, ale místo vznešený or jammy, vložit 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

Když je úložiště nastaveno, můžete pokračovat s instalací mongodb-org.

Obnovit databázi balíčků

Teď, když je úložiště Ubuntu rozpoznáno, musíte v něm znovu načíst databázi balíčků, aby od teď obsahovala i MongoDB. Zadejte níže uvedený příkaz:

sudo apt-get update

Tento příkaz zůstává stejný ve všech verzích Ubuntu. Pokud ho přeskočíte, Ubuntu nebude obsahovat MongoDB. Pokud příkaz funguje správně, výstup terminálu by měl být:Výstup Ubuntu terminálu po spuštění sudo apt-get update

 Teď, když jste obnovili databázi balíčků, je čas stáhnout balíčky MongoDB.

Instalace MongoDB Community Server

Existují různé verze MongoDB k instalaci, ale uživatelé obvykle preferují nejnovější stabilní verzi. Chcete-li nainstalovat nejnovější stabilní verzi, spusťte sudo apt-get install -y mongodb-org

Ubuntu si stáhl balíčky MongoDB, nainstaloval je, vytvořil uživatelský účet MongoDB a datový adresář, a registroval MongoDB jako systémovou službu. Nyní máme pokryto, jak stáhnout MongoDB do Ubuntu. Teď jej spustíme.

Jak spustit MongoDB

Aby se MongoDB spustil, musíte sdělit správci služeb Ubuntu, "systemd", aby MongoDB poznával jako službu na pozadí. To provedete zadáním následujícího příkazu v terminálu:

sudo systemctl start mongod

Pokud příkaz funguje správně, Ubuntu teď spustí MongoDB jako aplikaci na pozadí. Pokud ne, může se zobrazit chyba podobná Nepodařilo se spustit mongod.service.

K tomu může dojít kvůli několika běžným problémům:

  • Chyba v konfiguračním souboru in /etc/mongod.conf (chyby odsazení YAML jsou časté)
  • Konflikt portů (port 27017 je již obsazen)
  • Problém s oprávněním v datových nebo logových adresářích (var/lib/mongodb nebo var/log/mongodb)
  • Disk je plný or poškozený stav souborového systému

Tři příkazy k diagnostice problémuModerní nastavení serveru + tři příkazy v terminálu Ubuntu + cloud s cestou upgradu.

Je snadné říci, co by mohlo být špatně s vaší konfigurací, když MongoDB neběží, ale mnohem těžší je určit přesnou příčinu. Tři jednoduché způsoby, jak diagnostikovat, odkud by chyba mohla pocházet:

  1. Zkontrolujte stav služby: sudo systemctl status mongod –no-pager
  2. Zkontrolujte podrobné protokoly (nejdůležitější): sudo journalctl -u mongod –no-pager -n 100
  3. Zkontrolujte vlastní soubor protokolu MongoDB

Prosím vezměte na vědomí, že pokud je váš disk plný nebo jsou poškozeny systémové soubory, řešení bude spíše otázkou hardwaru než softwaru. Uživatelé budou muset koupit lepší vybavení pro nastavení svého serveru, aby mohli efektivně spustit MongoDB, pokud je jejich aktuální nastavení zastaralé. 

Pokud si nemůžete dovolit koupit kompletní server, zvažte Cloudzy Ubuntu VPS pro bezproblémový provoz na vlastním privátním serveru s distribucí Ubuntu podle vašeho výběru. Přichází s 24/7 podpora a až 40Gbps rychlostí sítě díky jeho úložiště NVMe SSD a DDR5 RAM úložiště.

Navíc má minimální latenci, 99.95% provozudobá dostupnost a 14denní zárukou vrácení peněz. To není všechno, je také dostupný v 12 lokalitách po celém světě za dostupnou cenu.

Tři nejčastější řešení pro spuštění MongoDB

Neexistuje absolutní způsob, jak zároveň identifikovat přesný problém vašeho systému s MongoDB a vyřešit ho v jednom jednoduchém kroku. Zde jsou některá běžná řešení, která můžete vyzkoušet a snad rozběhnou váš MongoDB.

  1. Chyba odsazení konfigurace YAML. Předpokládejme, že jste upravili /etc/mongod.conf znovu zkontrolujte odsazení spuštěním sudo nano /etc/mongod.conf. Soubor YAML je citlivý na prázdné znaky, proto se ujistěte, že na každé úrovni jsou pouze dva mezery v /etc/mongod.conf.
  2. Port 27017 je obsazen. Pokud něco jiného používá port 27017, vypněte to nebo změňte port MongoDB v mongod.conf. Pokud si nejste jistí, co běží na portu 27017, můžete spustit sudo ss -lntp | grep 27017 vyzkoušet si to
  3. Problém s oprávněním v datovém adresáři. Někdy MongoDB nemá oprávnění spustit se ve vašem systému a proto vůbec neběží. Nejdřív spusťte sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, poté restartujte MongoDB pomocí sudo systemctl restart mongod

Podle Oficiální webové stránky MongoDB, dalším způsobem, jak obejít tento problém, je znovu načíst daemon pomocí sudo systemctl daemon-reload, a spusťte první příkaz sudo systemctl start mongod, znovu.

Pokud není mongod.service, instalace neumístila jednotku systemd, proto přeinstalujte mongodb-org balíček nastaven.

Když máte všechno to za sebou, můžete ověřit, zda se MongoDB spustil úspěšně pomocí sudo systemctl status mongod. Pokud terminál vypíše aktivní (spuštěno), je vše v pořádku. Existují však další konfigurace, které vám ulehčí práci.

Automatizace MongoDBFuturistické nastavení serveru se symbolem automatizace MongoDB + terminál s příkazem MongoDB + soubor protokolu

MongoDB se automaticky nespustí pokaždé, když zapnete server; budete muset některé z výše uvedených kroků opakovat. Volitelně můžete říci Ubuntu, aby spustil MongoDB po startu vašeho počítače.

Jednoduše spusťte sudo systemctl enable mongod v terminálu, což bude od teď instruovat váš systém, aby spustil MongoDB po každém restartu. Kromě toho můžete restartovat mongod proces vydáním příkazu sudo systemctl restart mongod. Navíc si mohou uživatelé přečíst výstup v souboru, aby zkontrolovali chyby nebo důležité zprávy:

/var/log/mongodb/mongod.log

Teď, když máte vše nastaveno, začneme s mongod.

Otevření MongoDB shellu

Aby uživatelé mohli komunikovat se svou databází, musí otevřít MongoDB shell příkazem mongosh. Představte si to jako vyhrazený příkazový řádek pro MongoDB nebo konzoli MySQL. Případně můžete s MongoDB pracovat přes grafické nástroje, například MongoDB ovladače. Chcete-li s ním ale pracovat z terminálu, mongosh je to řešení.

Váš MongoDB bude nyní plně funkční, ale měli byste zvážit další kroky, abyste ho zabezpečili.

Povolte ověření pro MongoDBProces ověření MongoDB + ikona zámku + potvrzení ověření.

MongoDB nemá ve výchozím nastavení ochranu heslem, protože musíte mít již přístup k vytvoření uživatele. Tady je jednoduchý způsob, jak to nastavit

Vytvořit správce

Nejdřív se přepněte na admin databázi:

use admin

Pak vytvořte uživatele s db.createUser({…}). Vyplňte si vlastní

  • Uživatelské jméno
  • Heslo
  • Role

Pro roli zadejte raději root což znamená úplnou kontrolu nebo oprávnění správce.

Povolit ověřování

Teď, když máme vlastního uživatele, musíme upravit /etc/mongod.conf soubor. Ten určuje, jak se MongoDB chová. Mějte na paměti, že po úpravě souboru musíte vždy restartovat mongod službu následujícím příkazem: sudo systemctl restart mongod. Co zde musíme změnit, je jeden parametr nazvaný authorization, který vypadá takto:

security:

  authorization:

Abyste dokončili proces ověření, stačí změnit hodnotu authorization takto:

security:

  authorization: enabled

Od teď vyžaduje MongoDB přihlášení, takže je vaše ověření hotovo. Teď se pojďme podívat na další nastavení, které plně využívá možnosti MongoDB.

Otevřete si Firewall

Jak jsme zmínili, MongoDB běží na portu 27017. Protože firewall po výchozím nastavení bloků porty, musíte mu říci, aby umožnil aplikacím běžet na portu 27017. Stačí zadat příkaz:

ufw allow from YOUR_IP to any port 27017

Případně můžete také spustit příkaz ufw allow 27017, ale pozor – spuštěním tohoto příkazu umožníte přístup k portu celému internetu. Nejbezpečnější je držet se první možnosti, která povoluje přístup k portu pouze z vaší IP adresy.

Při spuštění MongoDB se můžete setkat s problémy, například se vzdáleným přístupem. Čtěte dál, jak to opravit.

Problém se vzdáleným přístupemNastavení serveru se 3 monitory, konfigurace nastavení vzdáleného přístupu MongoDB a příkazů v terminálu.

MongoDB se spouští s bindIp. bindIp omezuje MongoDB na 127.0.0.1, což umožňuje pouze místní připojení. Pokud se chcete připojit k serveru MongoDB odjinud, nebude vám přístup povolen, protože MongoDB je ve výchozím nastavení nakonfigurován tak, aby povoloval připojení pouze z místní sítě.

Přejděte na /etc/mongod.conf, a uvidíte tři řádky jako tyto:

net:

  port: 27017

  bindIp: 127.0.0.1

Pokud chcete povolit vzdálená připojení k vašemu mongod uživateli, změňte výše uvedené hodnoty takto:

net:

  port: 27017

  bindIp: 0.0.0.0

Poté restartujte váš mongod služba s sudo systemctl restart mongod , stejně jako po každé úpravě souboru.

Nyní jste udělili vašemu mongod službě oprávnění přijímat vzdálená připojení. Ale pozor – tím exponujete svou databázi celému internetu, pokud jste ještě nenastavili heslo pro vašeho mongod uživatele. Existuje mnoho botů, které neustále prohledávají otevřené porty MongoDB, proto se ujistěte, že váš uživatel mongod má nastavené heslo.

Shrnutí

Gratulujeme, nyní jste udělali vše potřebné k vytvoření optimalizované služby MongoDB pro váš systém Ubuntu. Zde je také přehled všech kroků, které jsme v tomto článku probrali.

Příkaz Co dělá
apt aktualizace Obnovit seznam软件
apt install Nainstalovat software
curl Stáhnout soubor
gpg Spravovat šifrovací klíče
echo Tisk textu
tričko Psát do chráněného souboru
systemctl start Spustit službu
systemctl enable Spustit při startu
systemctl stav Zkontrolovat službu
mongosh Vstoupit do prostředí MongoDB
Upravit /etc/mongod.conf Povolit ověření
ufw Spravovat firewall
bindIp Povolit vzdálený přístup

To by vám mělo pomoci lépe pochopit celý proces. Pokud je pro vás nastavení MongoDB na vlastní pěst příliš náročné, spusťte si MongoDB VPS pro váš vlastní privátní server Ubuntu 24.04 LTS s předinstalovanou MongoDB.

Obsahuje 99.95% uptime, 24/7 podpora a 14denní záruka vrácení peněz. Navíc podporuje až 40 Gbps šířky pásma díky DDR5 RAM a úložiště NVMe SSD úložiště. Nemusíte se vůbec bát, kde bydlíte, protože je k dispozici také v 12 lokalitách po celém světě za přijatelnou cenu.

Nyní jste si konečně povedli nastavit svou vlastní výkonnou službu MongoDB vybavenou všemi konfiguracemi potřebnými pro provozní úlohy a firmy.

Sdílet

Další z blogu

Čtěte dál.

Chytrá správa dat ve vaší firmě: cloudové úložiště, zálohy a strategie pro VPS
Databáze a analýzy

Chytrá správa dat ve vaší firmě: cloudové úložiště, zálohy a strategie pro VPS

VPS pro bezpečnou správu firemních dat je strategie, kterou doporučuji vždy, když se firma rozhodne přestat přehazovat soubory mezi laptopy, e-mailovými přílohami a napůl zapome

Rexa CyrusRexa Cyrus 7 min čtení
Materializovaný pohled vs. pohled
Databáze a analýzy

Materializovaný pohled vs. pohled: jejich role v databázích

V databázových systémech materializovaný pohled jako databázový objekt ukládá předpočítané výsledky dotazu jako fyzickou tabulku. Protože jsou data skutečně uložena na disku, složité

Ivy JohnsonováIvy Johnsonová 7 min čtení
SnowFlake versus DataBricks
Databáze a analýzy

Databricks vs Snowflake: Nestranné srovnání pro datové profesionály 🧱❄️

Pro firmy, které využívají data k rozhodování, ať už jde o e-commerce platformy sledující chování zákazníků, finanční instituce předpovídající trendy, nebo technologické společnosti

Allan Van KirkAllan Van Kirk Čtení na 13 minut

Připraveni nasadit? Od 2,48 $/měsíc.

Nezávislý cloud od roku 2008. AMD EPYC, NVMe, 40 Gbps. Vrácení peněz do 14 dní.