Zarządzanie MongoDB na Linux VPS obejmuje instalację, konfigurację, bezpieczeństwo i optymalizację wydajności.

Zarządzanie MongoDB na Linux VPS jest niezbędne dla programistów i administratorów systemów, którzy chcą wykorzystać pełny potencjał tej potężnej bazy danych NoSQL. Od instalacji i konfiguracji po bezpieczeństwo i optymalizację wydajności, dobrze zarządzana konfiguracja MongoDB zapewnia niezawodność, skalowalność i efektywność dla Twoich aplikacji.

Postępując zgodnie z kompleksowymi krokami przedstawionymi w naszym przewodniku, możesz zapewnić, że Twoja instancja MongoDB jest nie tylko operacyjna, ale także bezpieczna i zoptymalizowana pod kątem wydajności. Wdrażanie najlepszych praktyk w zakresie instalacji, uwierzytelniania, kontroli dostępu i zarządzania zasobami zapewni solidne podstawy dla Twoich aplikacji opartych na danych. Regularne monitorowanie i konserwacja dodatkowo gwarantują, że Twoja baza danych pozostaje responsywna i odporna na zmieniające się wymagania.

Dla tych, którzy chcą uprościć zarządzanie MongoDB, warto rozważyć wykorzystanie narzędzi i skryptów automatyzacyjnych do efektywnego wykonywania rutynowych zadań. Dodatkowo, eksploracja interfejsów graficznych, takich jak MongoDB Compass czy NoSQLBooster, może uprościć interakcje z bazą danych, szczególnie w przypadku złożonych zapytań i wizualizacji danych. Integrując te narzędzia w swój proces pracy, możesz zwiększyć produktywność i utrzymać środowisko MongoDB o wysokiej wydajności.
Baeldung.

1. Instalacja MongoDB na Linux VPS

MongoDB można zainstalować za pomocą menedżerów pakietów, takich jak apt (dla Debian/Ubuntu) lub yum (dla CentOS/RHEL).

Dla Ubuntu/Debian

  1. Zaktualizuj listę pakietów:
    sudo apt update 
    sudo apt upgrade -y
  2. Importuj klucz GPG MongoDB:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg

    **Uruchom następujące polecenie, aby dodać brakujący klucz publiczny:

    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys B00A0BD1E2C63C11
    lub

    **Uruchom to polecenie, aby ręcznie zaimportować klucz:

    wget -qO - https://pgp.mongodb.com/server-5.0.asc | sudo tee /etc/apt/trusted.gpg.d/mongodb-server-5.0.

    Sprawdź, czy klucz został dodany pomyślnie:

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  3. Dodaj repozytorium MongoDB:
    Ubuntu:
    echo "deb [signed-by=/usr/share/keyrings/mongodb-server-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
    Debian:
    echo "deb [signed-by=/etc/apt/trusted.gpg.d/mongodb-server-5.0.asc] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/5.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  4. Zainstaluj MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  5. Uruchom i włącz MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

Dla CentOS/RHEL

  1. Dodaj repozytorium MongoDB:
    sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
    [mongodb-org-6.0]
    name=MongoDB Repository
    baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
    gpgcheck=1
    enabled=1
    gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
    EOF

  2. Zainstaluj MongoDB:
    sudo yum install -y mongodb-org
  3. Uruchom i włącz MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod

2. Zabezpieczanie MongoDB

Domyślnie MongoDB nasłuchuje na localhost (127.0.0.1). Aby go zabezpieczyć:

Włącz uwierzytelnianie

  1. Utwórz użytkownika administratora:
    mongosh
    use admin
    db.createUser({
    user: "admin",
    pwd: "StrongPassword",
    roles: [{ role: "root", db: "admin" }]
    })
  2. Włącz uwierzytelnianie w pliku konfiguracyjnym MongoDB:
    sudo nano /etc/mongod.conf

    Znajdź sekcję security i dodaj:

    security:
    authorization: enabled
  3. Uruchom ponownie MongoDB:
    sudo systemctl restart mongod

Ogranicz dostęp zewnętrzny

  1. Zmodyfikuj MongoDB, aby nasłuchiwał tylko na localhost:
    sudo nano /etc/mongod.conf

    Zmień:

    bindIp: 127.0.0.1
  2. Użyj UFW (Ubuntu) lub FirewallD (CentOS), aby zezwolić tylko na określone adresy IP:
    sudo ufw allow from YOUR_IP to any port 27017

3. Zarządzanie MongoDB

Sprawdź status usługi MongoDB

sudo systemctl status mongod

Uruchom ponownie MongoDB

sudo systemctl restart mongod

Zatrzymaj MongoDB

sudo systemctl stop mongod

Włącz MongoDB do uruchamiania przy starcie

sudo systemctl enable mongod

4. Zarządzanie bazami danych w MongoDB

Połącz z MongoDB

mongosh

Utwórz bazę danych

use mydatabase

Pokaż bazy danych

show dbs

Utwórz kolekcję

db.createCollection("users")

Wstaw dane

db.users.insertOne({ name: "John Doe", age: 30, email: "john@example.com" })

Znajdź dane

db.users.find()

Usuń bazę danych

use mydatabase
db.dropDatabase()

5. Kopie zapasowe i przywracanie

Kopia zapasowa bazy danych MongoDB

mongodump --db=mydatabase --out=/backup/

Przywrócenie bazy danych MongoDB

mongorestore --db=mydatabase /backup/mydatabase/

6. Optymalizacja wydajności

Indeksowanie dla szybszych zapytań

db.users.createIndex({ email: 1 })

Monitorowanie wydajności

db.serverStatus()

Ogranicz użycie pamięci

Zmień wiredTigerCacheSizeGB w /etc/mongod.conf:

storage:
wiredTiger:
engineConfig:
cacheSizeGB: 1

Użyj puli połączeń

Zmień /etc/mongod.conf:

net:
maxIncomingConnections: 1000

7. Dzienniki i debugowanie

Wyświetl dzienniki MongoDB

sudo journalctl -u mongod --no-pager | tail -n 50

Sprawdź dzienniki błędów

sudo cat /var/log/mongodb/mongod.log

8. Odinstaluj MongoDB (jeśli to konieczne)

Dla Ubuntu/Debian

sudo systemctl stop mongod
sudo apt purge -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

Dla CentOS/RHEL

sudo systemctl stop mongod
sudo yum remove -y mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongodb

Podsumowanie

Zarządzanie MongoDB na Linux VPS wymaga odpowiedniej instalacji, zabezpieczenia i optymalizacji wydajności. Postępując zgodnie z tymi krokami, zapewniasz, że Twoja baza danych MongoDB działa efektywnie i bezpiecznie. 🚀

Czy potrzebujesz pomocy w skryptach automatyzacyjnych do zarządzania MongoDB? 😊