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 :
-
Включите репозиторий 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
на предпочитаемую версию. -
Установите мета-пакет
mongodb-org
:sudo dnf install mongodb-org
Во время установки вам будет предложено импортировать GPG-ключ MongoDB. Введите
y
и нажмитеEnter
.Следующие пакеты будут установлены в вашей системе как часть пакета
mongodb-org
:-
mongodb-org-server
— демонmongod
и соответствующие сценарии инициализации и конфигурации. -
mongodb-org-mongos
— демонmongos
. -
mongodb-org-shell
—mongodb-org-shell
mongo, интерактивный интерфейс JavaScript для MongoDB, используемый для выполнения административных задач из командной строки. -
mongodb-org-tools
— содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики, а также другие утилиты.
-
-
После завершения установки включите и запустите службу MongoDB:
sudo systemctl enable mongod --now
-
Чтобы проверить установку, подключитесь к серверу базы данных MongoDB и распечатайте версию сервера:
mongo
Выполните следующую команду, чтобы отобразить версию MongoDB:
db.version()
Результат будет выглядеть примерно так:
4.2.3
Настройка MongoDB
Файл конфигурации MongoDB называется mongod.conf
и находится в каталоге /etc
Файл в формате YAML .
В большинстве случаев достаточно настроек конфигурации по умолчанию. Однако для производственных сред мы рекомендуем раскомментировать раздел безопасности и включить авторизацию, как показано ниже:
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"
}
]
}
Выйдите из оболочки 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 .
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.