MongoDB — это бесплатная база данных документов с открытым исходным кодом. Он принадлежит к семейству баз данных под названием NoSQL, которое отличается от традиционных баз данных SQL на основе таблиц, таких как MySQL и PostgreSQL.

В MongoDB данные хранятся в гибких документах, подобных JSON , где поля могут варьироваться от документа к документу. Он не требует предопределенной схемы, а структура данных может меняться со временем.

В этом руководстве вы изучите процесс установки и настройки последней версии MongoDB Community Edition на сервере с Ubuntu 18.04 из официальных репозиториев MongoDB.

Добавьте ключ MongoDB GPG в свою систему, используя следующую команду:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

После импорта ключа добавьте репозиторий MongoDB с помощью:

sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

Если вы получили сообщение об ошибке add-apt-repository command not found, установите software-properties-commonпакет.

Чтобы установить более старую версию MongoDB, замените 4.0предпочитаемой версией.

Обновите список пакетов и установите mongodb-orgметапакет, набрав:

sudo apt update
sudo apt install mongodb-org

Следующие пакеты будут установлены в вашей системе как часть mongodb-orgпакета:

  • mongodb-org-server- mongodДемон и соответствующие сценарии инициализации и конфигурации.
  • mongodb-org-mongos- mongosДемон.
  • mongodb-org-shell- Оболочка mongo — это интерактивный интерфейс JavaScript для MongoDB. Он используется для выполнения административных задач через командную строку.
  • mongodb-org-tools- Содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики, а также другие утилиты.

После завершения установки запустите демон MongoDB и включите его при загрузке, набрав:

sudo systemctl start mongod
sudo systemctl enable mongod

Чтобы проверить, успешно ли завершена установка, мы подключимся к серверу базы данных MongoDB с помощью mongoинструмента и распечатаем статус подключения:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Настройка MongoDB

MongoDB использует файл конфигурации в формате YAML/etc/mongod.conf , . Вы можете настроить свой экземпляр MongoDB, отредактировав этот файл.

Параметры конфигурации по умолчанию достаточны для большинства пользователей. Однако для производственных сред рекомендуется раскомментировать раздел безопасности и включить авторизацию, как показано ниже:

/etc/mongod.conf

security:
  authorization: enabled

Этот authorizationпараметр включает управление доступом на основе ролей (RBAC) , которое регулирует доступ пользователей к ресурсам и операциям базы данных. Если эта опция отключена, каждый пользователь будет иметь доступ ко всем базам данных и выполнять любые действия.

После внесения изменений в файл конфигурации MongoDB перезапустите службу mongod с помощью:

sudo systemctl restart mongod

Создание админа MongoDB

Если вы включили аутентификацию MongoDB, создайте административного пользователя MongoDB, который будет использоваться для доступа и управления экземпляром MongoDB.

Во-первых, получите доступ к оболочке mongo с помощью:

mongo

Как только вы окажетесь внутри оболочки MongoDB, введите следующую команду для подключения к adminбазе данных:

use admin

Введите следующую команду, чтобы создать нового пользователя mongoAdminс этой userAdminAnyDatabaseролью:

db.createUser(
  {
    user: "mongoAdmin", 
    pwd: "changeMe", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Выйдите из оболочки монго с помощью:

quit()

Чтобы проверить изменения, войдите в оболочку mongo, используя ранее созданного администратора:

mongo -u mongoAdmin -p --authenticationDatabase admin
use admin

Теперь получите пользователей с помощью:

show users

Вы также можете попытаться получить доступ к оболочке mongo без каких-либо аргументов (просто введите mongo) и посмотреть, сможете ли вы перечислить пользователей, используя те же команды, что и выше.

Теперь вы узнали, как установить и настроить MongoDB 4.0 на сервере Ubuntu 18.04.