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

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

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

В этом руководстве мы покажем вам, как установить и настроить последнюю версию MongoDB Community Edition в системах Debian 9 из официальных репозиториев MongoDB.

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Установка MongoDB

На момент написания этой статьи последней версией MongoDB была версия 4.0.

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

Следующие шаги описывают, как установить MongoDB в системе Debian:

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

     sudo apt install software-properties-common dirmngr
  2. Добавьте GPG-ключ MongoDB в вашу систему, используя следующую команду:

     sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
  3. После импорта ключа для добавления репозитория MongoDB выполните:

     sudo add-apt-repository 'deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main'

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

  4. Обновите список пакетов:

     sudo apt update
  5. Установите мета-пакет mongodb-org с помощью:

     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 для импорта и экспорта данных, статистики, а также другие утилиты.
  6. Запустите демон MongoDB и включите его запуск при загрузке, набрав:

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

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

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

     MongoDB shell version v4.0.2 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 4.0.2 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

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

Настройка MongoDB

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

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

/etc/mongod.conf
security:
  authorization: enabled

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

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

sudo systemctl restart mongod

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

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

Если вы включили аутентификацию 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",
	"user" : "mongoAdmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

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

Выводы

Вы узнали, как установить и настроить MongoDB 4.0 на своем сервере Debian 9.

Вы можете обратиться к Руководству по MongoDB 4.0 для получения дополнительной информации по этой теме.

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