Как установить MongoDB на CentOS 8

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

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

В этом руководстве объясняется, как установить и настроить MongoDB Community Edition на сервере CentOS 8.

Установка MongoDB

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

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

Для установки MongoDB в системе CentOS 8 выполните следующие действия от имени пользователя root или пользователя с правами sudo :

  1. Включите репозиторий MongoDB, создав новый файл репозитория с именем mongodb-org.repo внутри каталога /etc/yum.repos.d/ :

     sudo nano /etc/yum.repos.d/mongodb-org.repo
    /etc/yum.repos.d/mongodb-org.repo
     [mongodb-org-4.2] name = MongoDB Repository baseurl = https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/ gpgcheck = 1 enabled = 1 gpgkey = https://www.mongodb.org/static/pgp/server-4.2.asc

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

  2. Установите мета-пакет mongodb-org :

     sudo dnf install mongodb-org

    Во время установки вам будет предложено импортировать GPG-ключ MongoDB. Введите y и нажмите Enter .

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

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

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

     mongo

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

     db.version()

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

     4.2.3

Настройка MongoDB

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

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

/etc/mongod.conf
security:
  authorization: enabled

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

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

sudo systemctl restart mongod

Для получения дополнительной информации о параметрах конфигурации MongoDB посетите страницу документации по параметрам файла конфигурации .

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

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

Сначала войдите в оболочку MongoDB с помощью:

mongo

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

use admin
switched to db admin

Создайте нового пользователя с именем 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 shell version v4.2.3
Enter password:
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"
	]
}

Выводы

Мы показали вам, как установить и настроить MongoDB 4.2 на вашем сервере CentOS 8.

Дополнительную информацию по этой теме см. В Руководстве по MongoDB 4.2 .

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

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