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

CentoOS

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

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

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

Установка MongoDB

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

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

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

Шаг первый

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

sudo nano /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 на предпочитаемую Вами версию.

Шаг второй

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

sudo dnf install mongodb-org

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

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

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

Шаг третий

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

sudo systemctl enable mongod --now

Шаг четвертый

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

mongo

Для отображения версии MongoDB выполните следующую команду:

db.version()

Выход будет выглядеть как нечто подобное:

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

Настройка MongoDB

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

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

/etc/mongod.conf

security:
  authorization: enabled

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

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

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

sudo systemctl restart mongod

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

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

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

Сначала откройте доступ к оболочке MongoDB:

mongo

Для подключения к БД администратора введите следующую команду:

use admin
Output

switched to db admin

Создайте нового пользователя под именем mongoAdmin с ролью userAdminAnyDatabase:

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

Successfully added user: {
	"user" : "mongoAdmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}

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

Выйти из оболочки MongoDB:

quit()

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

mongo -u mongoAdmin -p --authenticationDatabase admin
Output

MongoDB shell version v4.2.3
Enter password:
use admin
Output

switched to db admin

Теперь выведем список пользователей:

Output

{
	"_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.


Не пропустите интересные статьи

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

Oleg Kozlov

QA Engineer, web-testing, Adobe illustration, Adobe Photoshop, Motion Design, Music, Games, Mac OS.

Оцените автора
Техносфера
Добавить комментарий