Введение
MongoDB — это бесплатная база данных документов с открытым исходным кодом. Он принадлежит к семейству баз данных под названием NoSQL, которое отличается от традиционных табличных баз данных SQL, таких как MySQL и PostgreSQL.
В MongoDB данные хранятся в гибких документах, подобных JSON, где поля могут варьироваться от документа к документу. Он не требует предопределенной схемы, а структура данных может меняться со временем.
В этом руководстве объясняется, как установить и настроить MongoDB Community Edition на сервере CentOS 8.
Установить MongoDB
MongoDB недоступен в основных репозиториях CentOS 8. Мы включим официальный репозиторий MongoDB и установим пакеты.
На момент написания этой статьи последней версией MongoDB, доступной в официальных репозиториях MongoDB, была версия 4.2. Перед началом установки посетите раздел « Установка в Red Hat » документации MongoDB и проверьте, доступна ли новая версия.
Выполните следующие действия от имени пользователя root или пользователя с привилегиями sudo, чтобы установить MongoDB в системе CentOS 8.
В этом руководстве мы используем nano, если вы предпочитаете, вы можете использовать vi, установленный по умолчанию в большинстве дистрибутивов.
sudo dnf install nano
Включите репозиторий 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
Во время установки вам будет предложено импортировать GPG-ключ MongoDB. Введите y
и нажмите Enter
.
Следующие пакеты будут установлены в вашей системе как часть пакета mongodb-org
:
mongodb-org-server
— демонmongod
и соответствующие сценарии и конфигурации инициализации.mongodb-org-mongos
mongos
демон монго.mongodb-org-shell
— оболочка mongo, интерактивный интерфейс JavaScript для MongoDB, используемый для выполнения административных задач через командную строку.mongodb-org-tools
— содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики и других утилит.
После завершения установки включите и запустите службу MongoDB:
sudo systemctl enable mongod --now
Чтобы проверить установку, подключитесь к серверу базы данных MongoDB и распечатайте версию сервера:
mongo
Выполните следующую команду, чтобы просмотреть версию MongoDB:
db.version()
Вывод будет выглядеть следующим образом:
4.2.3
Выйдите из оболочки монго:
quit()
Настроить MongoDB
Файл конфигурации MongoDB называется mongod.conf
и находится в каталоге /etc
. Файл в формате YAML.
В большинстве случаев достаточно настроек конфигурации по умолчанию. Однако для производственных сред рекомендуется раскомментировать раздел безопасности и включить авторизацию, как показано ниже:
sudo nano /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(
Successfully added user: {
"user": "mongoAdmin",
"roles": [
{
"role": "userAdminAnyDatabase",
"db": "admin"
}
]
}
Вы можете назвать административного пользователя MongoDB по своему желанию.
Выйдите из оболочки монго с помощью:
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",
"userId": UUID("2e96b133-dc7d-40dc-b419-2b171000b572"),
"user": "mongoAdmin",
"db": "admin",
"roles": [
{
"role": "userAdminAnyDatabase",
"db": "admin"
}
],
"mechanisms": [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
Вывод
Мы показали вам, как установить и настроить MongoDB 4.2 на вашем сервере CentOS 8.
Обратитесь к руководству MongoDB 4.2 для получения дополнительной информации по этой теме.