MongoDB установка · 6 min read · Sep 15, 2025
Как установить и защитить MongoDB на Ubuntu 24.04

MongoDB — это система управления базами данных NoSQL (не SQL или нереляционная) с открытым исходным кодом, кроссплатформенная и распределенная. Вместо хранения данных в таблицах, как в традиционных SQL базах данных, MongoDB использует гибкие документы для хранения различных форм данных. MongoDB использует бинарный формат JSON, BSON, для хранения данных.
MongoDB — это распределенная NoSQL база данных с встроенной высокой доступностью, автоматическим переключением на резервный сервер и избыточностью данных, а также горизонтальным масштабированием через шардирование по распределенным кластерам. Она поддерживает многоуровневое географическое развертывание и предоставляет API запросов, который поддерживает операции CRUD (чтение и запись), конвейер агрегации данных, текстовый поиск и геопространственные запросы.
В этом руководстве мы покажем вам, как установить MongoDB на сервер Ubuntu 24.04. Вы подготовите свой сервер Ubuntu, добавите репозиторий MongoDB, установите сервер MongoDB, создадите администратора для MongoDB, а затем включите аутентификацию MongoDB. Наконец, вы узнаете, как создать пользователя и базу данных в MongoDB с помощью оболочки ‘mongosh’.
Предварительные требования
Перед тем как начать, убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04
- Пользователь не root с правами администратора
Подготовка системы
Перед установкой MongoDB на вашу систему Ubuntu убедитесь, что вы настроили свою систему. В этом случае вы будете настраивать сервер Ubuntu следующим образом:
- Отключите Transparent Huge Pages через systemd
- Увеличьте лимиты для пользователя по умолчанию ‘mongod’
- Настройте максимальное fs.file-max и включите swappiness через файл ‘ /etc/systctl.conf ‘
Отключение Transparent Huge Pages (THP)
Чтобы отключить THP на вашей системе, вы создадите новый файл службы systemd, который будет выполняться автоматически при каждом запуске.
Создайте новый файл службы ‘/ etc/systemd/system/disable-thp.service ‘ с помощью редактора ‘nano’.
sudo nano /etc/systemd/system/disable-thp.serviceВставьте следующую конфигурацию, чтобы отключить THP через службу.
[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, запустить и включить службу ‘ disable-thp ‘. С этим THP будет отключен при запуске системы.
sudo systemctl daemon-reload
sudo systemctl enable --now disable-thp.serviceНастройка Ulimits
После того как вы отключили THP, вам нужно увеличить максимальное количество открытых файлов и процессов для пользователя ‘mongod’ как минимум до ‘ 64000 ‘.
Создайте новый файл ‘ /etc/security/limits.d/mongodb.conf ‘ с помощью следующей команды редактора ‘nano’.
sudo nano /etc/security/limits.d/mongodb.confВставьте следующую конфигурацию, чтобы увеличить максимальное количество открытых файлов и процессов до ‘ 64000 ‘.
mongod soft nproc 64000
mongod hard nproc 64000
mongod soft nofile 64000
mongod hard nofile 64000Сохраните файл и выйдите из редактора.
Настройка swappiness и fs.file-max
Наконец, вам нужно увеличить значение по умолчанию ‘ fs.file-max ‘ и включить swappiness для MongoDB. Для этого вам нужно будет отредактировать файл ‘ /etc/sysctl.conf ‘.
Откройте файл ‘ /etc/sysctl.conf ‘ с помощью команды редактора ‘nano’.
sudo nano /etc/sysctl.confВставьте следующую конфигурацию, чтобы настроить fs.file-max и включить swappiness.
fs.file-max = 2097152
vm.max_map_count = 262144
vm.swappiness = 1Когда закончите, сохраните файл и выйдите из редактора.
Теперь выполните команду ‘ sysctl ‘ ниже, чтобы применить ваши изменения без перезагрузки.
sudo sysctl -p
Установка MongoDB с помощью менеджера пакетов APT
Теперь, когда вы настроили свою систему Ubuntu, вы готовы установить MongoDB. В этом разделе вы будете устанавливать последнюю версию MongoDB 8.0 из официального репозитория MongoDB.
Сначала выполните команду ‘ apt ‘ ниже, чтобы обновить индекс пакетов Ubuntu и установить пакеты ‘ gnupg ‘ и ‘ curl ‘. Введите ‘ Y ‘, чтобы подтвердить установку.
sudo apt update && sudo apt install gnupg curl
Теперь выполните следующую команду, чтобы добавить GPG ключ и репозиторий для MongoDB. В этом примере вы будете устанавливать MongoDB 8 на своем сервере Ubuntu 24.04.
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmorecho "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
Затем выполните команду ‘ apt ‘ ниже, чтобы обновить индекс пакетов и установить пакет ‘ mongodb-org ‘ в вашу систему. Введите ‘ Y ‘, чтобы продолжить установку.
sudo apt update && sudo apt install mongodb-org
После завершения установки выполните команду ‘ systemctl ‘ ниже, чтобы перезагрузить менеджер systemd. Служба ‘ mongod ‘ добавлена в вашу систему Ubuntu.
sudo systemctl daemon-reloadНаконец, выполните команду ниже, чтобы запустить, включить и проверить службу MongoDB ‘ mongod ‘. Вы увидите, что MongoDB работает на вашей системе.
sudo systemctl enable --now mongod
sudo systemctl status mongod
Защита сервера MongoDB
После установки MongoDB вы будете защищать установку сервера MongoDB следующим образом:
- Создание нового администратора для MongoDB с помощью оболочки ‘ mongosh ‘
- Включение аутентификации MongoDB путем редактирования конфигурационного файла ‘ /etc/mongod.conf ‘
Создание администратора MongoDB
В этом разделе вы будете создавать нового администратора MongoDB через оболочку ‘mongosh’. Оболочка ‘mongosh’ — это клиентская командная строка для взаимодействия с сервером MongoDB, она похожа на ‘mysql’ для MySQL/MariaDB и ‘psql’ для PostgreSQL.
Чтобы создать администратора, войдите на сервер MongoDB с помощью команды оболочки ‘ mongosh ‘ ниже.
mongoshТеперь выполните следующий запрос, чтобы отключить телеметрию MongoDB.
disableTelemetry()
Затем перейдите в базу данных ‘ admin ‘ и выполните следующие запросы, чтобы создать нового администратора для MongoDB. В этом примере вы создадите нового пользователя ‘ myAdmin ‘, затем введите свой новый пароль, когда будет предложено.
use admindb.createUser(
{
user: "myAdmin",
pwd: passwordPrompt(),
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "readWriteAnyDatabase", db: "admin" }
]
}
)Теперь введите ‘ quit() ‘, чтобы выйти из оболочки MongoDB.

Включение аутентификации MongoDB
Теперь, когда вы создали администратора MongoDB, вы готовы включить аутентификацию MongoDB через файл ‘ /etc/mongod.conf ‘.
Откройте конфигурацию сервера MongoDB по умолчанию ‘ /etc/mongod.conf ‘ с помощью следующей команды редактора ‘nano’.
sudo nano /etc/mongod.confДобавьте следующие строки, чтобы включить аутентификацию в MongoDB.
security:
authorization: enabledКогда закончите, сохраните файл и выйдите из редактора.
Теперь выполните команду ‘ systemctl ‘ ниже, чтобы перезапустить сервер MongoDB и применить ваши изменения. С этим аутентификация MongoDB будет включена.
sudo systemctl restart mongodТестирование аутентификации MongoDB
Теперь, когда вы защитили установку сервера MongoDB, давайте проверим вашу конфигурацию, войдя в MongoDB с помощью оболочки ‘mongosh’ и нового администратора и пароля.
Войдите на сервер MongoDB как пользователь ‘ myAdmin ‘ с помощью команды ‘ mongosh ‘ ниже. Введите свой пароль, когда будет предложено.
mongosh --port 27017 --authenticationDatabase \
"admin" -u "myAdmin" -p
После входа выполните запрос ниже, чтобы проверить статус вашего соединения. Вы должны были войти на сервер MongoDB как пользователь ‘ myAdmin ‘.
db.runCommand({connectionStatus : 1})Теперь введите ‘ quit() ‘, чтобы выйти с сервера MongoDB.

Создание базы данных и пользователя в MongoDB
В этом разделе вы узнаете, как создать новую базу данных и пользователя в MongoDB с помощью оболочки ‘mongosh’. Поэтому убедитесь, что вы вошли в MongoDB как администратор.
Сначала выполните запрос ниже, чтобы перейти к базе данных ‘ mydb ‘.
use mydbТеперь выполните следующий запрос, чтобы создать нового пользователя ‘ myUser ‘ и разрешить доступ на чтение и запись к базе данных ‘ mydb ‘. Введите свой пароль, когда будет предложено.
db.createUser(
{
user: "myUser",
pwd: passwordPrompt(), // или открытый текст пароля
roles: [ { role: "readWrite", db: "mydb" },
{ role: "read", db: "reporting" } ]
}
)Введите ‘ quit() ‘, чтобы выйти с сервера MongoDB.

Теперь выполните команду ‘mongosh’ ниже, чтобы войти как ‘ myUser ‘ в базу данных ‘ mydb ‘. Введите свой пароль, когда будет предложено.
mongosh --port 27017 --authenticationDatabase \
"mydb" -u "myUser" -p
После входа проверьте статус вашего соединения, используя следующий запрос.
db.runCommand({connectionStatus : 1})Вы можете увидеть ниже, что вы подключены к серверу MongoDB с пользователем ‘myUser’ и правами на базу данных ‘ mydb ‘.

Заключение
Поздравляем! Вы завершили установку сервера MongoDB на сервере Ubuntu 24.04. Вы также создали администратора и защитили установку MongoDB. Затем вы узнали, как использовать ‘mongosh’ для подключения к серверу MongoDB и основные запросы для управления пользователями и базами данных в MongoDB.
Get new posts in your inbox
No spam. Unsubscribe anytime.