Установка MongoDB · 5 min read · Sep 18, 2025

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

MongoDB — это система управления базами данных NoSQL (не SQL или нереляционная), которая является открытым исходным кодом, кроссплатформенной и распределенной. Вместо хранения данных в таблицах, как в традиционных SQL базах данных, MongoDB использует гибкие документы для хранения различных форм данных. MongoDB использует бинарный JSON формат, BSON, для хранения данных.

MongoDB — это распределенная NoSQL база данных с встроенной высокой доступностью, автоматическим переключением на резервные системы и избыточностью данных, а также горизонтальным масштабированием через шардирование по распределенным кластерам. Она поддерживает многоуровневое географическое развертывание и предоставляет API для запросов, который поддерживает операции CRUD (чтение и запись), конвейер агрегации данных, текстовый поиск и геопространственные запросы.

Этот гид покажет вам, как установить MongoDB на сервер Alma Linux 9. Вы также включите аутентификацию MongoDB, создадите администратора для MongoDB и создадите новую базу данных и пользователя для ваших приложений.

Предварительные условия

Чтобы начать с этого руководства, убедитесь, что у вас есть следующее:

  • Сервер Alma Linux 9
  • Непривилегированный пользователь с правами администратора

Подготовка системы (отключение thp, настройка ulimit и sysctl.conf)

В этом разделе вы подготовите и настроите ваш сервер ALma Linux для установки MongoDB. Ниже приведены три основных шага, которые вы должны выполнить:

  • Отключите прозрачные большие страницы (THP) через службу systemd
  • Увеличьте максимальное количество процессов и открытых файлов для пользователя ‘mongod’
  • Настройте vm-max fs через файл ‘/etc/sysctl.conf’

Итак, сначала выполните следующую команду ‘dnf’, чтобы установить текстовый редактор ‘nano’ на вашу систему Alma Linux.

sudo dnf install nano -y

Отключение прозрачных больших страниц (THP)

Теперь создайте новый файл службы ‘/etc/systemd/system/disable-thp.service‘ для отключения прозрачных больших страниц (THP). Эта служба также будет запускаться при каждой загрузке системы.

sudo nano /etc/systemd/system/disable-thp.service

Вставьте следующую конфигурацию в файл.

[Unit]  
Description=Disable Transparent Huge Pages (THP)  
  
[Service]  
Type=simple  
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"  
  
[Install]  
WantedBy=multi-user.target

Когда закончите, сохраните и выйдите из файла.

Затем выполните команду ‘ systemctl ‘ ниже, чтобы перезагрузить менеджер systemd и применить ваши изменения.

sudo systemctl daemon-reload

Наконец, запустите и включите ‘ disable-thp.service ‘ с помощью команды ниже. С этим THP будет автоматически отключен при запуске.

sudo systemctl enable --now disable-thp.service

disable thp

Настройка ulimits

Создайте новую конфигурацию ‘/etc/security/limits.d/mongodb.conf‘ с помощью текстового редактора ‘ nano ‘.

sudo nano /etc/security/limits.d/mongodb.conf

Вставьте конфигурацию ниже в файл. Это позволяет пользователю ‘ mongod ‘ запускать максимальное количество процессов и открытых файлов для ‘64000‘.

mongod soft nproc 64000  
mongod hard nproc 64000  
mongod soft nofile 64000  
mongod hard nofile 64000

Сохраните файл и выйдите из редактора.

Настройка sysctl.conf

Откройте файл ‘/etc/sysctl.conf‘ с помощью текстового редактора ‘ nano ‘.

sudo nano /etc/sysctl.conf

Добавьте следующие строки для настройки fs.file-max, max map count и включения swappiness.

fs.file-max = 2097152  
vm.max_map_count = 262144  
vm.swappiness = 1

Сохраните файл и выйдите из редактора.

Теперь выполните команду ‘ sysctl ‘ ниже, чтобы применить ваши изменения.

sudo sysctl -p

setup ulimit and sysctl

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

sudo reboot

Установка MongoDB

Теперь после настройки вашего сервера Alma Linux начните установку сервера MongoDB с помощью следующей команды - в этом случае вы будете устанавливать MongoDB 7.0 на сервер Alma Linux 9.

Сначала создайте новый файл репозитория MongoDB ‘/etc/yum.repos.d/mongodb-org-7.0.repo‘ с помощью текстового редактора ‘ nano ‘.

sudo nano /etc/yum.repos.d/mongodb-org-7.0.repo

Вставьте конфигурацию ниже в файл.

[mongodb-org-7.0]  
name=MongoDB Repository  
baseurl=https://repo.mongodb.org/yum/redhat/9/mongodb-org/7.0/x86_64/  
gpgcheck=1  
enabled=1  
gpgkey=https://pgp.mongodb.com/server-7.0.asc

Сохраните файл и выйдите из редактора.

Теперь выполните команду ‘ dnf ‘ ниже, чтобы отобразить доступные репозитории на вашем сервере Alma Linux. Вы увидите, что репозиторий MongoDB был добавлен.

sudo dnf repolist

setup repo

Затем выполните команду ‘ dnf install ‘ ниже, чтобы установить MongoDB и оболочку MongoDB на вашу систему. Введите ‘Y‘, чтобы подтвердить установку.

sudo dnf install mongodb-org mongodb-mongosh

install mongodb

После завершения установки запустите и включите службу MongoDB ‘ mongod ‘, и проверьте статус службы ‘ mongod ‘, чтобы убедиться, что она работает.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Вы можете увидеть ниже, что MongoDB работает на сервере Alma Linux.

start verify mongodb

Включение аутентификации MongoDB

На этом этапе сервер MongoDB работает на вашем сервере Alma Linux. Теперь вы обеспечите безопасность вашей установки MongoDB, включив аутентификацию по паролю и создав нового администратора MongoDB. Также вы узнаете основные команды ‘mongosh’ или оболочки MongoDB для управления сервером MongoDB.

Сначала войдите на сервер MongoDB, используя команду ‘ mongosh ‘ ниже.

mongosh

После входа на MongoDB выполните запрос ниже, чтобы отключить телеметрию MongoDB.

disableTelemetry()

Теперь переключитесь на базу данных ‘admin‘ и выполните запрос ниже, чтобы настроить администратора для MongoDB. В этом примере вы создадите нового пользователя ‘myAliceAdmin‘ в качестве администратора для MongoDB. Также введите ваш пароль, когда будет предложено.

use admin  
db.createUser(  
{  
user: "myAliceAdmin",  
pwd: passwordPrompt(),  
roles: [  
{ role: "userAdminAnyDatabase", db: "admin" },  
{ role: "readWriteAnyDatabase", db: "admin" }  
]  
}  
)

Если новый пользователь создан, вы увидите вывод ‘{ ok: 1 }‘.

Введите ‘quit()‘, чтобы выйти из сервера MongoDB.

create admin

Затем откройте файл ‘/etc/mongod.conf‘ с помощью текстового редактора ‘ nano ‘.

sudo nano /etc/mongod.conf

Раскомментируйте опцию ‘ security ‘ и добавьте ‘ authorization: enabled ‘, чтобы включить аутентификацию по паролю в MongoDB.

security:  
authorization: enabled

Сохраните файл и выйдите из редактора.

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

sudo systemctl restart mongod

Затем выполните команду ‘ mongosh ‘ ниже, чтобы войти в MongoDB.

mongosh

connect to mongodb

Переключитесь на базу данных ‘admin‘ и выполните аутентификацию как пользователь ‘myAliceAdmin‘ с помощью следующих запросов. Введите ваш пароль, когда будет предложено.

use admin  
db.auth("myAliceAdmin", passwordPrompt())

Если аутентификация прошла успешно, вы получите вывод ‘{ ok: 1 }‘.

test auth

Кроме того, вы также можете войти в базу данных ‘admin‘ с помощью пользователя ‘myAliceAdmin‘ через команду ‘ mongosh ‘ ниже.

mongosh --port 27017 --authenticationDatabase \  
"admin" -u "myAliceAdmin" -p

Создание пользователя в MongoDB

В этом разделе вы создадите новую базу данных и пользователя в MongoDB через клиент ‘ mongosh ‘.

Чтобы создать новую базу данных и пользователя в MongoDB, выполните следующие запросы. В этом примере вы создадите новую базу данных ‘mydb‘ и нового пользователя ‘myUser‘. Введите ваш пароль, когда будет предложено.

use mydb  
db.createUser(  
{  
user: "myUser",  
pwd: passwordPrompt(), // или открытый текст пароля  
roles: [ { role: "readWrite", db: "mydb" },  
{ role: "read", db: "reporting" } ]  
}  
)

Если новая база данных и пользователь созданы, вы получите вывод ‘{ ok: 1 }‘, а затем введите ‘quit()‘, чтобы выйти.

create new user and database

Затем войдите на сервер MongoDB, используя команду ‘ mongosh ‘ ниже. Введите пароль для ‘myUser‘, когда будет предложено.

mongosh --port 27017 --authenticationDatabase \  
"mydb" -u "myUser" -p

Если успешно, вы получите приглашение оболочки MongoDB.

connect to database

Заключение

Поздравляем! Вы завершили установку MongoDB на сервере Alma Linux 9. Вы также обеспечили безопасность MongoDB, создав администратора и включив аутентификацию по паролю. Наконец, вы также узнали, как создать базу данных и пользователя в MongoDB, а также некоторые основные команды ‘mongosh’ для подключения к серверу MongoDB через командную строку.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.