MongoDB je open source a multiplatformní dokumentově orientovaný databázový systém napsaný v C++. Ukládá data do kolekcí flexibilních dokumentů podobných JSON a používá se k vytváření výkonných webových stránek a aplikací. Díky své škálovatelnosti a vysokému výkonu se používá pro vytváření moderních aplikací, které vyžadují výkonné, kritické a vysoce dostupné databáze.
V tomto tutoriálu vysvětlíme, jak nainstalovat a používat databázový systém MongoDB na serveru Ubuntu 20.04.
Předpoklady
- Server se systémem Ubuntu 20.04.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Instalovat MongoDB
Ve výchozím nastavení není nejnovější verze MongoDB k dispozici ve výchozím úložišti Ubuntu 20.04. Budete tedy muset do svého systému přidat oficiální úložiště MongoDB.
Nejprve nainstalujte balíček Gnupg pomocí následujícího příkazu:
apt-get install gnupg -y
Dále si stáhněte a přidejte klíč MongoDB GPG pomocí následujícího příkazu:
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
Dále přidejte úložiště MongoDB pomocí následujícího příkazu:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
Dále aktualizujte úložiště a nainstalujte MongoDB pomocí následujícího příkazu:
apt-get update -y
apt-get install mongodb-org -y
Po dokončení instalace spusťte službu MongoDB a povolte její spuštění při restartu pomocí následujícího příkazu:
systemctl start mongod
systemctl enable mongod
Nyní můžete zkontrolovat stav služby MongoDB pomocí následujícího příkazu:
systemctl status mongod
Měli byste získat následující výstup:
? mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-05-15 05:30:39 UTC; 18s ago Docs: https://docs.mongodb.org/manual Main PID: 106996 (mongod) Memory: 76.0M CGroup: /system.slice/mongod.service ??106996 /usr/bin/mongod --config /etc/mongod.conf May 15 05:30:39 ubuntu2004 systemd[1]: Started MongoDB Database Server. May 15 05:30:48 ubuntu2004 systemd[1]: /lib/systemd/system/mongod.service:11: PIDFile= references a path below legacy directory /var/run/, upd> lines 1-11/11 (END)
Verzi MongoDB a adresu serveru můžete také ověřit pomocí následujícího příkazu:
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Měli byste získat následující výstup:
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("e1575445-f441-4b30-a5d7-4cf68852e68f") } MongoDB server version: 4.2.6 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Konfigurace MongoDB
Výchozí konfigurační soubor MongoDB se nachází na /etc/mongod.conf. Ve výchozím nastavení bude mít každý uživatel přístup ke všem databázím a bude provádět jakoukoli akci. Pro produkční prostředí se doporučuje povolit ověřování MongoDB.
Můžete to udělat úpravou souboru /etc/mongod.conf:
nano /etc/mongod.conf
Přidejte následující řádky:
security: authorization: enabled
Uložte a zavřete soubor a poté restartujte službu MongoDB, aby se změny projevily:
systemctl restart mongod
Vytvořit uživatele MongoDB Admin
Po povolení ověřování MongoDB budete muset vytvořit administrátora pro přístup a správu databáze MongoDB.
Nejprve otevřete konzolu MongoDB pomocí následujícího příkazu:
mongo
Měli byste vidět následující výstup:
MongoDB shell version v4.2.6 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("9ee0ea0c-cf95-4b83-9e88-00dc3a61e0a6") } MongoDB server version: 4.2.6 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user
Dále se připojte k databázi správce pomocí následujícího příkazu:
> use admin
Měli byste vidět následující výstup:
switched to db admin
Dále vytvořte nového uživatele admin a nastavte heslo pomocí následujícího příkazu:
> db.createUser( { user: "admin", pwd: "password", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
Měli byste získat následující výstup:
Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
Dále ukončete konzolu MongoDB pomocí následujícího příkazu:
> quit()
Ověřit ověření MongoDB
V tomto okamžiku je MongoDB nakonfigurován s ověřováním.
Nyní se zkuste připojit k MongoDB pomocí uživatele, kterého jste vytvořili dříve:
mongo -u admin -p --authenticationDatabase admin
Budete požádáni o zadání hesla, jak je uvedeno níže:
MongoDB shell version v4.2.6 Enter password:
Zadejte své heslo správce a stiskněte Enter. Měli byste vidět následující výstup:
connecting to: mongodb://127.0.0.1:27017/?authSource=admin&compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("00d6d1eb-d1c3-41ea-89c7-d46ec6d17bee") } MongoDB server version: 4.2.6
Nyní změňte databázi na admin pomocí následujícího příkazu:
> use admin
Měli byste vidět následující výstup:
switched to db admin
Nyní zadejte seznam uživatelů pomocí následujícího příkazu:
> show users
Měli byste získat následující výstup:
{ "_id" : "admin.admin", "userId" : UUID("65907484-9d67-4e6e-bb88-a6666310e963"), "user" : "admin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] } >
Závěr
Ve výše uvedené příručce jste se naučili, jak nainstalovat a nakonfigurovat MongoDB na serveru Ubuntu 20.04. Další informace naleznete v dokumentaci MongoDB na adrese Mongo Doc.