MongoDB je bezplatná a open-source databáze dokumentů. Patří do rodiny databází s názvem NoSQL, která se liší od tradičních tabulkových databází SQL, jako je MySQL a PostgreSQL.
V MongoDB jsou data uložena ve flexibilních dokumentech podobných JSON, kde se pole mohou lišit dokument od dokumentu. Nevyžaduje předdefinované schéma a datovou strukturu lze v průběhu času měnit.
Tento tutoriál vysvětluje, jak nainstalovat a nakonfigurovat MongoDB Community Edition na serveru CentOS 8.
Instalace MongoDB #
MongoDB není k dispozici v úložištích jádra CentOS 8. Povolíme oficiální úložiště MongoDB a nainstalujeme balíčky.
V době psaní tohoto článku je nejnovější verze MongoDB dostupná z oficiálních úložišť MongoDB verze 4.2. Než začnete s instalací, navštivte sekci Install on Red Hat v dokumentaci MongoDB a zkontrolujte, zda není k dispozici nové vydání.
Chcete-li nainstalovat MongoDB na systém CentOS 8, proveďte následující kroky jako uživatel root nebo uživatel s právy sudo:
-
Povolte úložiště MongoDB vytvořením nového souboru úložiště s názvem
mongodb-org.repouvnitř/etc/yum.repos.d/adresář:
/etc/yum.repos.d/mongodb-org.reposudo nano /etc/yum.repos.d/mongodb-org.repo[mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.ascPokud chcete nainstalovat starší verzi MongoDB, nahraďte každou instanci
4.2s vaší preferovanou verzí. -
Nainstalujte
mongodb-orgmeta-balíček:sudo dnf install mongodb-orgBěhem instalace budete vyzváni k importu klíče MongoDB GPG. Zadejte
ya stiskněteEnter.Následující balíčky budou nainstalovány na váš systém jako součást
mongodb-orgbalíček:mongodb-org-server-mongoddémon a odpovídající init skripty a konfigurace.mongodb-org-mongos–mongosdémon.mongodb-org-shell- Mongo Shell, interaktivní JavaScriptové rozhraní pro MongoDB, používané k provádění administrativních úloh přes příkazový řádek.mongodb-org-tools- Obsahuje několik nástrojů MongoDB pro import a export dat, statistiky a další nástroje.
-
Po dokončení instalace povolte a spusťte službu MongoDB:
sudo systemctl enable mongod --now -
Chcete-li ověřit instalaci, připojte se k databázovému serveru MongoDB a vytiskněte verzi serveru:
mongoPro zobrazení verze MongoDB spusťte následující příkaz:
db.version()Výstup bude vypadat nějak takto:
4.2.3
Konfigurace MongoDB #
Konfigurační soubor MongoDB se jmenuje mongod.conf a je umístěn v /etc adresář. Soubor je ve formátu YAML.
Výchozí nastavení konfigurace je ve většině případů dostačující. Pro produkční prostředí však doporučujeme zrušit komentář v sekci zabezpečení a povolit autorizaci, jak je uvedeno níže:
/etc/mongod.confsecurity:
authorization: enabled
authorization umožňuje řízení přístupu založeného na rolích (RBAC), které reguluje přístup uživatelů k databázovým zdrojům a operacím. Pokud je tato možnost zakázána, každý uživatel bude mít přístup k jakékoli databázi a provede jakoukoli akci.
Po provedení změn v konfiguračním souboru MongoDB restartujte službu mongod:
sudo systemctl restart mongod Další informace o možnostech konfigurace MongoDB naleznete na stránce Dokumentace možností konfiguračního souboru.
Vytváření administrativního uživatele MongoDB #
Pokud jste povolili ověřování MongoDB, budete muset vytvořit administrátora, který bude mít přístup k instanci MongoDB a bude ji moci spravovat.
Nejprve otevřete prostředí MongoDB pomocí:
mongo
Zadejte následující příkaz pro připojení k admin databáze:
use admin switched to db admin
Vytvořte nového uživatele s názvem mongoAdmin pomocí userAdminAnyDatabase role:
db.createUser({user: "mongoAdmin",pwd: "changeMe",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
Administrativního uživatele MongoDB můžete pojmenovat, jak chcete. Opusťte mongo shell pomocí:
quit() Chcete-li otestovat změny, otevřete mongo shell pomocí administrátora, kterého jste dříve vytvořili:
mongo -u mongoAdmin -p --authenticationDatabase admin MongoDB shell version v4.2.3
Enter password:
use admin switched to db admin
Nyní vytiskněte uživatele pomocí:
show users {
"_id" : "admin.mongoAdmin",
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}