Как установить MongoDB в Ubuntu 22.04

Установить MongoDB в Ubuntu 22.04

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

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

В этом руководстве описывается пошаговый процесс установки MongoDB в Ubuntu.

Предпосылки

Чтобы следовать инструкциям по установке, убедитесь, что вы выполняете команды как пользователь root или пользователь с привилегиями sudo на экземпляре Ubuntu 22.04 или 20.04.

Установка MongoDB в Ubuntu

Стандартные репозитории Ubuntu обычно содержат устаревшую версию MongoDB. Мы установим официальные пакеты MongoDB, которые всегда актуальны. Установка MongoDB в Ubuntu довольно проста. Мы включим репозиторий MongoDB, импортируем GPG-ключ репозитория и установим пакеты MongoDB.

На момент написания статьи последней версией MongoDB, доступной в официальных репозиториях MongoDB, была версия 7.0.

Первый шаг — установка зависимостей, необходимых для добавления нового репозитория . Скорее всего, эти пакеты уже установлены в вашей системе, но некоторые пакеты могут отсутствовать:

 sudo apt update sudo apt install gnupg wget apt-transport-https ca-certificates software-properties-common

Затем импортируйте ключ GPG репозитория MongoDB в свою систему:

 wget -qO-  https://pgp.mongodb.com/server-7.0.asc |  gpg --dearmor |  sudo tee /usr/share/keyrings/mongodb-server-7.0.gpg >/dev/null

Добавьте репозиторий MongoDB, создав следующий файл:

 echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ]  https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/7.0 multiverse" |  sudo tee -a /etc/apt/sources.list.d/mongodb-org-7.0.list

Часть $(lsb_release -cs) в приведенной выше команде выводит кодовое имя Ubuntu. Например, если у вас Ubuntu версии 22.04, команда выведет jammy .

После включения репозитория обновите локальный индекс пакетов:

 sudo apt update

Теперь вы можете установить MongoDB, введя:

 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 enable --now mongod

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

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

Вывод будет выглядеть примерно так:

 Current Mongosh Log ID: 655a70dfea9d876644ee6607 Connecting to: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.0.2 Using MongoDB: 7.0.3 Using Mongosh: 2.0.2 { authInfo: { authenticatedUsers: [], authenticatedUserRoles: [] }, ok: 1 }

Команда возвращает информацию о состоянии соединения, аутентифицированных пользователях и их разрешениях. Значение 1 в поле ok указывает на успешное выполнение.

Настройка MongoDB

Файл конфигурации MongoDB находится в каталоге /etc и называется mongod.conf . Он имеет формат YAML .

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

 sudo nano /etc/mongod.conf

/etc/mongod.conf

 security :   authorization : enabled 

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

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

 sudo systemctl restart mongod

Более подробную информацию о параметрах конфигурации, доступных в последней версии MongoDB, можно найти на странице документации «Параметры файла конфигурации» .

Создание административного пользователя MongoDB

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

Доступ к оболочке mongo:

 mongosh

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

 use admin
 switched to db admin

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

 db.createUser( { user: "myMongoAdmin" , pwd: passwordPrompt(), roles: [ { role: "userAdminAnyDatabase" , db: "admin" } , { role: "readWriteAnyDatabase" , db: "admin" } ] } )

Мы назвали административную функцию «myMongoAdmin». Вы можете назвать её как угодно. Вы также можете ввести пароль открытым текстом вместо метода passwordPrompt() , но не рекомендуется отображать пароль на экране, и он также будет сохранён в истории командной оболочки.

Вам будет предложено ввести пароль. Введите его и нажмите «Enter». Не забудьте задать надёжный пароль:

 Enter password
 ********{ ok: 1 }

«ok: 1» означает, что команда была успешно выполнена.

После этого выйдите из оболочки mongo с помощью:

 quit()

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

 mongo -u myMongoAdmin -p --authenticationDatabase admin

Если вы введете правильный пароль, вы подключитесь к оболочке MogoDB.

Переключитесь на базу данных «admin» и запустите show users , чтобы получить информацию обо всех пользователях и их ролях:

 use admin
 switched to db admin
 show users

В нашем примере у нас только один пользователь:

 [ { _id: 'admin.myMongoAdmin', userId: new UUID("a00ab5ca-5c1f-4a3b-8f67-be8a79c7649c"), user: 'myMongoAdmin', db: 'admin', roles: [ { role: 'userAdminAnyDatabase', db: 'admin' }, { role: 'readWriteAnyDatabase', db: 'admin' } ], mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ] } ]

Заключение

Мы показали вам, как установить и настроить MongoDB в Ubuntu 20.04 и 22.04. Подробнее об этом можно узнать в руководстве по MongoDB .

Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.

База данных Ubuntu MongoDB Не используете Ubuntu 22.04?
Выберите другую ОС:
центос 7 центос 8 дебиан 10 дебиан 9 убунту 18.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *