Jak zainstalować system bazy danych MongoDB na Ubuntu?

MongoDB

Na tym blogu rozmawialiśmy o niektórych systemach bazodanowych, wśród których najpopularniejsze to MariaDB i MySQL, ponieważ są to systemy, które zwykle są zawarte w Xampp lub Lampp. Tym razem będziemy rozmawiać inny system, który jest MongoDB.

MongoDB jest zorientowany na dokumenty system baz danych NoSQL o otwartym kodzie źródłowym, To jest nowoczesny system zarządzania bazą danych dokumentów zaprojektowany z myślą o wysokiej wydajności utrwalania danych, wysoka dostępność, a także automatyczne skalowanie w oparciu o technologię techniki NoSQL.

Zamiast zapisywać dane w tabelach, jak ma to miejsce w relacyjnych bazach danych, MongoDB zapisuje struktury danych w dokumencie, która 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 doskonałe parametry skalowalności, jest używany do tworzenia nowoczesnych aplikacji wymagających potężnych, krytycznych i wysoce dostępnych baz danych.

Instalacja MongoDB na Ubuntu

Aby zainstalować ten system bazy danych w naszym systemie, Musimy tylko otworzyć terminal i wykonać w nim następujące polecenie:

sudo apt install mongodb

Instalacja zakończona, Usługa MongoDB uruchomi się automatycznie przez systemd a proces będzie działał na porcie 27017. Możesz sprawdzić jego stan za pomocą polecenia:

sudo systemctl status mongodb

Jeśli nie, możemy wymusić start za pomocą tego polecenia:

sudo systemctl start mongodb

Włączanie zdalnych połączeń z MongoDB

MongoDB 1

System bazy danych MongoDB domyślnie używa portu 27017, który musimy otworzyć Aby akceptować połączenia zdalne, włączamy je tylko za pomocą następującego polecenia.

sudo ufw allow 27017

Domyślnie dostęp do portu 27017 można uzyskać tylko z adresu lokalnego 127.0.0.1. Aby umożliwić zdalne połączenia z MongoDB, konieczne jest dodanie adresu IP serwera w pliku /etc/mongodb.conf

Po prostu edytuj go za pomocą:

sudo nano

I widzimy coś podobnego do tego:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Które edytujemy danymi z naszego serwera.

Umożliwiając dostęp do MongoDB z dowolnego miejsca, daje nieograniczony dostęp do danych w bazie danych. Dlatego lepiej jest nadać dostęp do określonego dla lokalizacji domyślnego adresu IP portu MongoDB.

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

Po wykonaniu tej czynności wystarczy zrestartować usługę, aby nowe zmiany zostały załadowane na początku, robimy to z:

sudo systemctl restart mongodb

Utwórz użytkownika w MongoDB z hasłem

Domyślnie baza danych ma dość prosty dostęp, więc aby to wzmocnić, możemy stworzyć użytkownika z hasłem.

MongoDB używa mechanizmu uwierzytelniania SCRAM domyślnie. Użycie SCRAM-u w systemie weryfikuje podane poświadczenia użytkownika z nazwą użytkownika, hasłem i bazą danych uwierzytelniania.

Po prostu uruchom konsolę bazy danych za pomocą następującego polecenia:

Mongo

Możemy sporządzić listę istniejących baz danych za pomocą:

show dbs

Możemy stworzyć użytkownika, który pozwoli nam zarządzać użytkownikami i funkcjami takich jak tworzenie użytkowników, nadawanie lub cofanie ról użytkowników oraz tworzenie lub modyfikowanie ról niestandardowych.

Po prostu wpisz

use admin

I tworzymy użytkownika za pomocą następującego polecenia, gdzie zastępujemy nazwę użytkownika „root” i hasło „hasło”, określeniami dostępu, które naszym zdaniem są odpowiednie.

db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})

Gdy to zrobisz, musimy włączyć metodę uwierzytelniania w tym celu zamierzamy edytować następujący plik:

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

I będziemy szukać następnej linii:

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

Oraz edytuj tak, aby wyglądało następująco:

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

Teraz po prostu uruchamiamy ponownie w bazie danych

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y Testujemy metodę uwierzytelniania za pomocą:

mongo -u "usuario" -p --authenticationDatabase "contraseña"

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Wykrywalne powiedział

    Pomóż mi z tym BŁĘDEM.

    2021-03-24T21: 33: 16.233 + 0000 E QUERY [wątek1] Błąd: lista baz danych nie powiodła się: {
    «Ok»: 0,
    "Errmsg": "administrator nie ma uprawnień do wykonania polecenia {listDatabases: 1.0, $ db: \" admin \ "}",
    „Kod”: 13,
    „CodeName”: „Brak autoryzacji”
    }:
    _getErrorWithCode@src/mongo/shell/utils.js: 25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js: 65: 1
    shellHelper.show@src/mongo/shell/utils.js: 816: 19
    shellHelper@src/mongo/shell/utils.js: 706: 15
    @ (shellhelp2): 1: 1