Как установить MongoDB в Debian 10 Linux

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

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

В этом руководстве мы объясним, как установить и настроить последнюю версию MongoDB Community Edition на Debian 10 Buster.

Установка MongoDB

MongoDB недоступен в стандартных репозиториях Debian Buster. Мы включим официальный репозиторий MongoDB и установим пакеты.

На момент написания этой статьи последней версией MongoDB была версия 4.2. Перед тем, как начать установку, перейдите на страницу « Установка в Debian » документации MongoDB и проверьте, доступна ли новая версия.

Выполните следующие шаги от имени пользователя root или пользователя с привилегиями sudo для установки MongoDB в системе Debian:

  1. Установите пакеты, необходимые для добавления нового репозитория:

     sudo apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl
  2. Добавьте GPG-ключ MongoDB в вашу систему:

     curl -fsSL https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
  3. Включите репозиторий MongoDB:

     sudo add-apt-repository 'deb https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main'

    Пакеты со старыми версиями MongoDB недоступны для Debian 10.

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

     sudo apt update sudo apt install mongodb-org

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

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

     sudo systemctl enable mongod --now
  6. Чтобы проверить, успешно ли завершилась установка, подключитесь к серверу базы данных MongoDB с mongo инструмента mongo и распечатайте статус подключения:

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

    Результат будет выглядеть так:

     MongoDB shell version v4.2.1 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("09f11c53-605f-44ad-abec-ec5801bb6b06") } MongoDB server version: 4.2.1 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

    Значение 1 для поля ok указывает на успех.

Настройка MongoDB

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

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

/etc/mongod.conf
security:
  authorization: enabled

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

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

sudo systemctl restart mongod

Чтобы найти дополнительную информацию о параметрах конфигурации, доступных в MongoDB 4.2, посетите страницу документации по параметрам файла конфигурации .

Создание администратора MongoDB

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

mongo

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

use admin
switched to db admin

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

db.createUser(
  {
    user: "mongoAdmin", 
    pwd: "changeMe", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
Successfully added user: {
	"user" : "mongoAdmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}
Вы можете назвать административного пользователя MongoDB как хотите.

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

quit()

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

mongo -u mongoAdmin -p --authenticationDatabase admin

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

use admin
switched to db admin

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

show users
{
	"_id" : "admin.mongoAdmin",
	"userId" : UUID("cdc81e0f-db58-4ec3-a6b8-829ad0c31f5c"),
	"user" : "mongoAdmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

Выводы

Мы показали вам, как установить MongoDB 4.2 на Debian 10, Buster. Посетите Руководство MongoDB для получения дополнительной информации по этой теме.

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

Оставьте комментарий