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, opartym na najnowocześniejszej technologii NoSQL . W MongoDB , rekord jest dokumentem, który jest 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 wspaniałe funkcje skalowalności, jest używany do tworzenia nowoczesnych aplikacji, które wymagają potężnych, krytycznych i wysokiej dostępności baz danych.
W tym artykule wyjaśnimy, jak zainstalować MongoDB , zarządzaj jego usługą i skonfiguruj podstawowe uwierzytelnianie w Ubuntu 18.04 .
Ważne :Należy pamiętać, że twórcy MongoDB oferują tylko pakiety dla 64-bitowego LTS (długoterminowe wsparcie) Wydania Ubuntu, takie jak 14.04 LTS (zaufany), 16.04 LTS (xenial) i tak dalej.
Krok 1:Instalacja MongoDB na Ubuntu 18.04
1. Oficjalne repozytoria pakietów oprogramowania Ubuntu zawierają najnowszą wersję MongoDB i można go łatwo zainstalować za pomocą menedżera pakietów APT.
Najpierw zaktualizuj pamięć podręczną pakietu 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 , klienci-mongodb , serwer mongodb i mongodb-server-core .
$ sudo apt install mongodb
3. Po pomyślnym zainstalowaniu usługa MongoDB uruchomi się automatycznie przez systemd, a proces będzie nasłuchiwał na porcie 27017 . Możesz zweryfikować jego stan za pomocą polecenia systemctl, jak pokazano.
$ sudo systemctl status mongodb
Krok 2:Zarządzanie usługą MongoDB
4. MongoDB instalacja jest dostarczana jako usługa systemowa 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 do MongoDB w zaporze
5. Domyślnie MongoDB działa na porcie 27017 , aby umożliwić dostęp z dowolnego miejsca.
$ sudo ufw allow 27017
Ale umożliwienie dostępu do MongoDB zewsząd daje nieograniczony dostęp do danych bazy danych. Dlatego lepiej jest dać dostęp do określonej lokalizacji adresu IP do domyślnego portu 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 na lokalnym adresie 127.0.0.1 tylko. Aby zezwolić na zdalne połączenia MongoDB, musisz dodać adres IP swojego serwera do /etc/mongodb.conf plik konfiguracyjny, 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 głównego bazy danych MongoDB i hasło
7. Domyślnie MongoDB ma wyłączone uwierzytelnianie użytkownika, dlatego jest uruchamiane 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 za każdym razem, gdy łączą się z serwerem bazy danych.
MongoDB korzysta z mechanizmu uwierzytelniania Salted Challenge-Response (SCRAM ) domyślnie mechanizm uwierzytelniania. Korzystanie z SCRAM , MongoDB weryfikuje dostarczone dane uwierzytelniające użytkownika z nazwą użytkownika, hasłem i bazą danych uwierzytelniania (baza danych, w której użytkownik został utworzony, 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 administratora. Ten użytkownik może zarządzać użytkownikami i rolami, takimi jak tworzenie użytkowników, przydzielanie lub odwoływanie ról użytkownikom oraz tworzenie lub modyfikowanie ról celnych.
Najpierw przełącz się na administratora bazę danych, a następnie utwórz użytkownika root za pomocą następujących poleceń.
> use admin > db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})
Teraz wyjdź z powłoki mongo, aby włączyć uwierzytelnianie, jak wyjaśniono dalej.
10. mongodb instancja została uruchomiona bez --auth
opcja wiersza poleceń. Musisz włączyć uwierzytelnianie użytkowników, edytując /lib/systemd/system/mongod.service plik, najpierw otwórz plik do edycji w ten sposób.
$ sudo vim /lib/systemd/system/mongodb.service
W sekcji [Service]
w sekcji konfiguracji znajdź parametr ExecStart .
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
Zmień to na następujące:
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 ponownie uruchomić usługę MongoDB i sprawdzić jej stan 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ż będzie ono przechowywane w pliku historii powłoki i może być później przeglądane przez atakującego.
To wszystko! MongoDB to nowoczesny system zarządzania bazami danych typu open source bez SQL, 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 komentarzy, aby się z nami skontaktować.