Jak zainstalować MongoDB na Ubuntu 18.04

MongoDB jest darmową i open-source’ową bazą danych dokumentów. Należy do rodziny baz danych zwanych NoSQL, która różni się od tradycyjnych baz danych SQL opartych na tabelach, takich jak MySQL i PostgreSQL.

W MongoDB dane są przechowywane w elastycznych, lubianych przez JSON dokumentach, w których pola mogą się różnić w zależności od dokumentu. Nie wymaga on predefiniowanego schematu, a struktura danych może być zmieniana w czasie.

W tym poradniku omówimy proces instalacji i konfiguracji najnowszej wersji MongoDB Community Edition na maszynie Ubuntu 18.04 z oficjalnych repozytoriów MongoDB.

Wymagania wstępne #

Przed kontynuowaniem tego poradnika upewnij się, że jesteś zalogowany jako użytkownik z uprawnieniami sudo.

Instalacja MongoDB #

W czasie pisania tego artykułu, najnowszą wersją MongoDB jest wersja 4.0.

Przed kontynuowaniem procesu instalacji, przejdź do sekcji Install on Ubuntusection dokumentacji MongoDB i sprawdź, czy jest dostępne nowe wydanie.

Następujące kroki opisują, jak zainstalować MongoDB na serwerze Ubuntu:

  1. Dodaj klucz GPG MongoDB do systemu za pomocą następującego polecenia:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

    Po zaimportowaniu klucza dodaj repozytorium MongoDB za pomocą:

    sudo add-apt-repository 'deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

    Jeśli otrzymasz komunikat o błędzie o treści add-apt-repository command not found, zainstaluj pakiet software-properties-common.

    Aby zainstalować starszą wersję MongoDB, zastąp 4.0 swoją preferowaną wersją.

  2. Zaktualizuj listę pakietów i zainstaluj metapakiet mongodb-org, wpisując:

    sudo apt updatesudo apt install mongodb-org

    Następujące pakiety zostaną zainstalowane w systemie jako część pakietu mongodb-org:

    • mongodb-org-server – Demon mongod i odpowiadające mu skrypty inicjujące oraz konfiguracje.
    • mongodb-org-mongos – Demon mongos.
    • mongodb-org-shell – Powłoka mongo jest interaktywnym interfejsem JavaScript do MongoDB. Służy do wykonywania zadań administracyjnych za pośrednictwem wiersza poleceń.
    • mongodb-org-tools – Zawiera kilka narzędzi MongoDB do importowania i eksportowania danych, statystyk, a także innych narzędzi.
  3. Po zakończeniu instalacji należy uruchomić demona MongoDB i włączyć jego uruchamianie przy starcie systemu, wpisując:

    sudo systemctl start mongodsudo systemctl enable mongod
  4. Aby sprawdzić, czy instalacja zakończyła się pomyślnie, połączymy się z serwerem bazy danych MongoDB za pomocą narzędzia mongo i wydrukujemy stan połączenia:

    mongo --eval 'db.runCommand({ connectionStatus: 1 })'

    Wyjście będzie wyglądać następująco:

    MongoDB shell version v4.0.10connecting to: mongodb://127.0.0.1:27017MongoDB server version: 4.0.10{ "authInfo" : { "authenticatedUsers" : , "authenticatedUserRoles" : }, "ok" : 1}

    Wartość 1 dla pola ok oznacza sukces.

Konfigurowanie MongoDB #

MongoDB używa pliku konfiguracyjnego w formacie YAML, /etc/mongod.conf . Możesz skonfigurować swoją instancję MongoDB poprzez edycję tego pliku.

Domyślne ustawienia konfiguracyjne są wystarczające dla większości użytkowników. Jednakże, dla środowisk produkcyjnych, zalecane jest odkomentowanie sekcji bezpieczeństwa i włączenie autoryzacji, jak pokazano poniżej:

/etc/mongod.conf
security: authorization: enabled

Opcja authorization włącza kontrolę dostępu opartą na rolach (RBAC), która reguluje dostęp użytkowników do zasobów bazy danych i operacji. Jeśli ta opcja jest wyłączona, każdy użytkownik będzie miał dostęp do wszystkich baz danych i będzie mógł wykonywać dowolne działania.

Po wprowadzeniu zmian w pliku konfiguracyjnym MongoDB należy ponownie uruchomić usługę mongod za pomocą:

sudo systemctl restart mongod

Aby znaleźć więcej informacji na temat opcji konfiguracyjnych dostępnych w MongoDB 4.0, odwiedź stronę Configuration File Optionsdocumentation.

Tworzenie administracyjnego użytkownika MongoDB #

Jeśli włączyłeś uwierzytelnianie MongoDB, utwórz administracyjnego użytkownika MongoDB, który będzie używany do uzyskiwania dostępu i zarządzania instancją MongoDB.

Najpierw uzyskaj dostęp do powłoki MongoDB za pomocą:

mongo

Jak już będziesz wewnątrz powłoki MongoDB, wpisz następujące polecenie, aby połączyć się z admin bazą danych:

use admin
switched to db admin

Wykonaj następujące polecenie, aby utworzyć nowego użytkownika o nazwie mongoAdmin z rolą userAdminAnyDatabase:

db.createUser( { user: "mongoAdmin", pwd: "changeMe", roles: })
Successfully added user: {"user" : "mongoAdmin","roles" : }
Możesz nazwać administracyjnego użytkownika MongoDB, jak chcesz.

Wyjdź z powłoki mongo za pomocą:

quit()

Aby przetestować zmiany, uzyskaj dostęp do powłoki mongo za pomocą użytkownika administracyjnego, którego wcześniej utworzyłeś:

mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin

Teraz wydrukuj użytkowników za pomocą:

show users
{"_id" : "admin.mongoAdmin","user" : "mongoAdmin","db" : "admin","roles" : ,"mechanisms" : }

Możesz również spróbować uzyskać dostęp do powłoki mongo bez żadnych argumentów ( wystarczy wpisać mongo) i sprawdzić, czy możesz wyświetlić listę użytkowników, używając tych samych poleceń, co powyżej.

Zakończenie #

Dowiedziałeś się, jak zainstalować i skonfigurować MongoDB 4.0 na swoim serwerze Ubuntu 18.04. Odwiedź Podręcznik MongoDB 4.0, aby uzyskać więcej informacji na ten temat.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.