Як керувати MongoDB на Linux?

Popular:
ПІДВИЩІТЬ НАЛАШТУВАННЯ СЕРВЕРА! ЗАСТОСУЙТЕ AVA І ЗАПУСК З ЗНИЖКА 15%
АКТИВУЙ ПРОМО:

Керування MongoDB на Linux VPS включає встановлення, налаштування, безпеку та оптимізацію продуктивності.

1. Встановлення MongoDB на Linux VPS

MongoDB можна встановити за допомогою менеджерів пакетів, таких як apt (для Debian/Ubuntu) або yum (для CentOS/RHEL).

Для Ubuntu/Debian

  1. Оновити список пакунків:
    sudo apt update
sudo apt update -y
  • Імпортуйте ключ MongoDB GPG:
    curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-keyring.gpg
  • **Запустіть наступну команду, щоб додати відсутній відкритий ключ:

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

    **Запустіть цю команду, щоб імпортувати ключ вручну:

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

    Перевірте, чи успішно було додано ключ:

    gpg --dry-run --quiet --import --import-options import-show /etc/apt/trusted.gpg.d/mongodb-server
  • Додайте сховище 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
  • Встановіть MongoDB:
    sudo apt update
    sudo apt install -y mongodb-org
  • Запустіть та увімкніть MongoDB:
    sudo systemctl start mongod
    sudo systemctl enable mongod
  • Для CentOS/RHEL

    1. Додайте сховище MongoDB:
      sudo tee /etc/yum.repos.d/mongodb-org-6.0.repo <<EOF
      [mongodb-org-6.0]
      name=Репозиторій mongoDB
      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. Встановіть MongoDB:
      sudo yum install -y mongodb-org
    3. Запустіть та увімкніть MongoDB:
      sudo systemctl start mongod
      sudo systemctl enable mongod

    2. Захист MongoDB

    За замовчуванням MongoDB слухає на localhost (127.0.0.1). Щоб захистити його:

    Увімкніть автентифікацію

    1. Створіть користувача admin:
      mongosh
      use admin
      db.createUser({
      user: "admin",
      pwd: "StrongPassword",
      roles: [{ role: "root", db: "admin" }]
      })
    2. Увімкніть автентифікацію в конфігураційному файлі MongoDB:
      sudo nano /etc/mongod.conf

      Знайдіть розділ безпеки та додайте:

      security:
      authorization: enabled
    3. Перезапустіть MongoDB:
      sudo systemctl restart mongod

    Обмеження зовнішнього доступу

    1. Змініть MongoDB так, щоб вона слухала тільки localhost:
      sudo nano /etc/mongod.conf

      Зміна:

      bindIp: 127. 0.0.1
    2. Використовуйте UFW (Ubuntu) або FirewallD (CentOS), щоб дозволити лише певні IP-адреси:
      sudo ufw allow from YOUR_IP to any port 27017

    3. Керування MongoDB

    Перевірка стану служби MongoDB

    sudo systemctl status mongod

    Перезапуск MongoDB

    sudo systemctl restart mongod

    Зупинка MongoDB

    sudo systemctl stop mongod

    Увімкніть запуск MongoDB при завантаженні

    sudo systemctl enable mongod

    4. Керування базами даних у MongoDB

    Підключення до MongoDB

    mongosh

    Створення бази даних

    use mydatabase

    Показати бази даних

    show dbs

    Створення колекції

    db.createCollection("users")

    Вставити дані

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

    Знайти дані

    db.users.find()

    Видалення бази даних

    use mydatabase
    db.dropDatabase()

    5. Резервне копіювання та відновлення

    Створення резервної копії бази даних MongoDB

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

    Відновлення бази даних MongoDB

    mongorestore --db=mydatabase /backup/mydatabase/ --db=mydatabase

    6. Оптимізація продуктивності

    Індексування для швидших запитів

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

    Моніторинг продуктивності

    db.serverStatus()

    Обмеження використання пам’яті

    Змініть wiredTigerCacheSizeGB у файлі /etc/mongod.conf:

    storage:
    wiredTiger:
    engineConfig:
    cacheSizeGB: 1

    Використання пулу з’єднань

    Змініть /etc/mongod.conf:

    net:
    maxIncomingConnections: 1000

    7. Журнали та налагодження

    Перегляд журналів MongoDB

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

    Перевірка журналів помилок

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

    8. Видаліть MongoDB (якщо потрібно)

    Для Ubuntu/Debian

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

    Для CentOS/RHEL

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

    Висновок

    Керування MongoDB на Linux VPS вимагає правильного встановлення, посилення безпеки та оптимізації продуктивності. Дотримуючись цих кроків, ви забезпечите ефективну та безпечну роботу вашої бази даних MongoDB. 🚀

    Вам потрібна допомога зі скриптами автоматизації для керування MongoDB? 😊