Wyszukiwanie w witrynie

Jak zainstalować MongoDB na Ubuntu 18.04


MongoDB to nowoczesny system zarządzania bazą danych dokumentów typu open source, zaprojektowany z myślą o wysokiej wydajności trwałości danych, wysokiej dostępności, a także automatycznym skalowaniu, w oparciu o najnowocześniejszą technologię Brak SQL. WMongoDB rekord to dokument będący strukturą danych składającą się z par pól i wartości (dokumenty MongoDB są porównywalne z obiektami JSON).

Ponieważ zapewnia wysoką wydajność i doskonałe funkcje skalowalności, jest używany do tworzenia nowoczesnych aplikacji, które wymagają wydajnych, krytycznych dla działalności i wysokiej dostępności baz danych.

W tym artykule wyjaśnimy, jak zainstalować MongoDB, zarządzać jej usługami i skonfigurować podstawowe uwierzytelnianie na Ubuntu 18.04.

Ważne: należy pamiętać, że twórcy MongoDB oferują tylko pakiety dla 64-bitowych LTS (wsparcie długoterminowe) wydań Ubuntu, takich jak Ważne14,04 LTS (zaufany), 16,04 LTS (xenial) i tak dalej.

Przeczytaj także: Jak zainstalować MongoDB na Ubuntu 16.04/14.04 LTS

Krok 1: Instalacja MongoDB na Ubuntu 18.04

1. Oficjalne repozytoria pakietów oprogramowania Ubuntu zawierają najnowszą wersję MongoDB i można je łatwo zainstalować za pomocą menedżera pakietów APT.

Najpierw zaktualizuj pamięć podręczną pakietów oprogramowania systemowego, aby mieć najnowszą wersję listy repozytoriów.

sudo apt update

2. Następnie zainstaluj pakiet MongoDB, który zawiera kilka innych pakietów, takich jak mongo-tools, mongodb-clients, mongodb-server< i rdzeń-serwera mongodb.

sudo apt install mongodb

3. Po pomyślnej instalacji usługa MongoDB uruchomi się automatycznie przez systemd, a proces będzie nasłuchiwał na porcie 27017. Możesz sprawdzić jego status za pomocą polecenia systemctl, jak pokazano.

sudo systemctl status mongodb

Krok 2: Zarządzanie usługą MongoDB

4. Instalacja MongoDB jest usługą systemową i można nią łatwo zarządzać za pomocą standardowych poleceń systemowych, jak pokazano.

Aby zatrzymać działanie usługi MongoDB, uruchom następujące polecenie.

sudo systemctl stop mongodb	

Aby uruchomić usługę MongoDB, wpisz następujące polecenie.

sudo systemctl start mongodb

Aby ponownie uruchomić usługę MongoDB, wpisz następujące polecenie.

sudo systemctl restart mongodb	

Aby wyłączyć automatycznie uruchamianą usługę MongoDB, wpisz następujące polecenie.

sudo systemctl disable mongodb	

Aby ponownie włączyć usługę MongoDB, wpisz następujące polecenie.

sudo systemctl enable mongodb	

Krok 3: Włącz zdalny dostęp MongoDB w zaporze sieciowej

5. Domyślnie MongoDB działa na porcie 27017, aby umożliwić dostęp z dowolnego miejsca.

sudo ufw allow 27017

Jednak umożliwienie dostępu do MongoDB z dowolnego miejsca zapewnia nieograniczony dostęp do danych bazy danych. Dlatego lepiej jest zapewnić dostęp do określonej lokalizacji adresu IP domyślnemu portowi MongoDB za pomocą następującego polecenia.

sudo ufw allow from your_server_IP/32 to any port 27017 
sudo ufw status

6. Domyślnie port 27017 nasłuchuje tylko na adresie lokalnym 127.0.0.1. Aby zezwolić na zdalne połączenia MongoDB, musisz dodać adres IP swojego serwera do pliku konfiguracyjnego /etc/mongodb.conf, jak pokazano.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Zapisz plik, wyjdź z edytora i uruchom ponownie MongoDB.

sudo systemctl restart mongodb

Krok 4: Utwórz użytkownika root i hasło bazy danych MongoDB

7. Domyślnie MongoDB ma wyłączoną autoryzację użytkownika, dlatego też jest uruchamiana bez kontroli dostępu. Aby uruchomić powłokę mongo, uruchom następujące polecenie.

mongo 

8. Po połączeniu się z powłoką mongo możesz wyświetlić listę wszystkich dostępnych baz danych za pomocą następującego polecenia.

> show dbs

9. Aby włączyć kontrolę dostępu we wdrożeniu MongoDB w celu wymuszenia uwierzytelniania; wymaganie od użytkowników identyfikacji przy każdym połączeniu z serwerem bazy danych.

MongoDB domyślnie korzysta z mechanizmu uwierzytelniania Salted Challenge Response Authentication Mechanism (SCRAM). Za pomocą SCRAM MongoDB weryfikuje dostarczone dane uwierzytelniające użytkownika z nazwą użytkownika, hasłem i bazą danych uwierzytelniających (baza danych, w której użytkownik został utworzony i wraz z nazwą użytkownika służy do identyfikacji użytkownika).

Musisz utworzyć administratora użytkownika (analogicznie do użytkownika root w MySQL/MariaDB) w bazie danych administratorów. Ten użytkownik może zarządzać użytkownikiem i rolami, na przykład tworzyć użytkowników, nadawać lub odbierać role użytkownikom oraz tworzyć lub modyfikować role celne.

Najpierw przejdź do bazy danych admin, a następnie utwórz użytkownika root za pomocą poniższych poleceń.

> use admin 
> db.createUser({user:"root", pwd:"=@!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Teraz wyjdź z powłoki mongo, aby włączyć uwierzytelnianie, jak wyjaśniono poniżej.

10. Instancja mongodb została uruchomiona bez opcji wiersza poleceń --auth. Musisz włączyć uwierzytelnianie użytkowników, edytując plik /lib/systemd/system/mongod.service, najpierw otwórz plik do edycji w ten sposób.

sudo vim /lib/systemd/system/mongodb.service 

W sekcji konfiguracji [Service] znajdź parametr ExecStart.

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Zmień go na następujący:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Zapisz plik i wyjdź z niego.

11. 8. Po wprowadzeniu zmian w pliku konfiguracyjnym uruchom „systemctl daemon-reload”, aby przeładować jednostki i zrestartować usługę MongoDB i sprawdzić jej status w następujący sposób.

systemctl daemon-reload
sudo systemctl restart mongodb	
sudo systemctl status mongodb	

12. Teraz, gdy próbujesz połączyć się z mongodb, musisz uwierzytelnić się jako użytkownik MongoDB. Na przykład:

mongo -u "root" -p --authenticationDatabase "admin"

Uwaga: nie zaleca się wprowadzania hasła w wierszu poleceń, ponieważ zostanie ono zapisane w pliku historii powłoki i będzie mogło zostać później przejrzane przez osobę atakującą.

To wszystko! MongoDB to nowoczesny system zarządzania bazami danych No-SQL typu open source, który zapewnia wysoką wydajność, wysoką dostępność i automatyczne skalowanie.

W tym artykule wyjaśniliśmy, jak zainstalować i rozpocząć korzystanie z MongoDB w Ubuntu 18.04. Jeśli masz jakieś pytania, skorzystaj z poniższego formularza komentarza, aby się z nami skontaktować.