Установка MongoDB · 6 min read · Oct 21, 2025

Как установить MongoDB на Debian 12

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

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

В этом руководстве вы узнаете, как установить MongoDB на сервер Debian 12. Вы также узнаете, как включить аутентификацию MongoDB, использовать клиент MongoDB ‘mongosh’ и выполнять базовые запросы для создания нового пользователя и базы данных в MongoDB.

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

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

  • Сервер Debian 12
  • Пользователь без прав root с правами администратора

Подготовка сервера Debian

Перед установкой MongoDB на ваш сервер Debian рекомендуется применить следующие настройки:

  • Отключить прозрачные большие страницы (THP) через скрипт systemd
  • Увеличить предельные значения для пользователя MongoDB
  • Включить swapiness и увеличить max_mmap память через файл ‘ /etc/sysctl.conf

Теперь давайте настроим сервер Debian.

Сначала выполните команду ‘ nano ‘ ниже, чтобы создать новый файл службы /etc/systemd/system/disable-thp.service.

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

Вставьте следующий скрипт службы, чтобы установить ‘ transparent_hugepage ‘ в ‘ never ‘.

[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 ‘. С этим ‘ transparent_hugepage ‘ будет отключен при каждом запуске системы.

sudo systemctl daemon-reload  
sudo systemctl enable --now disable-thp.service

Далее создайте новый файл /etc/security/limits.d/mongodb.conf с редактором ‘ nano ‘.

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

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

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

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

После этого отредактируйте файл ‘ /etc/sysctl.conf ‘ следующим образом.

sudo nano /etc/sysctl.conf

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

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

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

Наконец, выполните команду ‘ sysctl ‘ ниже, чтобы немедленно применить изменения в файле ‘ /etc/sysctl.conf ‘.

sudo sysctl -p

настройка системы

Установка сервера MongoDB на Debian

Теперь, когда вы настроили свой сервер Debian, давайте начнем установку MongoDB. В этом случае вы установите MongoDB 7.0 через официальный репозиторий MongoDB на ваш сервер Debian.

Установите пакеты ‘ gnupg ‘ и ‘ curl ‘ на вашу систему Debian следующим образом:

sudo apt install gnupg curl

установка gnupe curl

Теперь добавьте GPG ключ и репозиторий MongoDB для Debian с помощью команды ниже. В этом случае вы настроите репозиторий для MongoDB 7.0.

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \  
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \  
--dearmor
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

добавить репозиторий

Далее выполните команду ‘ apt ‘ ниже, чтобы обновить список пакетов и установить пакет ‘mongodb-org’.

sudo apt update && sudo apt install mongodb-org -y

В следующем выводе вы можете увидеть установку MongoDB.

установка mongodb

После завершения установки перезагрузите менеджер systemd с помощью команды ‘systemctl’.

sudo systemctl daemon-reload

Запустите и включите службу ‘mongod’, затем проверьте, чтобы убедиться, что служба работает.

sudo systemctl enable --now mongod  
sudo systemctl status mongod

Если MongoDB работает, вы увидите вывод, похожий на следующий:

проверка mongodb

Защита сервера MongoDB с помощью аутентификации

С установленным MongoDB вам необходимо защитить вашу установку, включив аутентификацию MongoDB. В этом разделе вы настроите аутентификацию MongoDB и создадите нового администратора для MongoDB. Это покажет вам, как использовать ‘ mongosh ‘ или клиент MongoDB и базовые запросы MongoDB.

Войдите на сервер MongoDB с помощью команды ‘ mongosh ‘ ниже. У стандартной установки MongoDB нет пароля.

mongosh

Выполните команду ‘ disableTelemetry() ‘, чтобы отключить анонимный сбор данных от MongoDB.

disableTelemetry()

Переключитесь на базу данных ‘ admin ‘ с помощью запроса ‘ use ‘.

use admin

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

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

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

quit()

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

Далее отредактируйте файл ‘ /etc/mongod.conf ‘ с помощью редактора ‘ nano ‘.

sudo nano /etc/mongod.conf

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

security:  
  authorization: enabled

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

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

sudo systemctl restart mongod

Тестирование аутентификации MongoDB

Теперь, когда вы создали администратора и включили аутентификацию на вашем сервере MongoDB. Давайте проверим вашу конфигурацию, войдя на сервер MongoDB через пользователя ‘myAdmin’.

Выполните команду ‘ mongosh ‘ ниже, чтобы войти на сервер MongoDB как пользователь ‘myAdmin’ и введите свой пароль, когда будет предложено.

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

вход в mongodb

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

db.runCommand({connectionStatus : 1})

Вы можете увидеть ниже, что вы подключены как пользователь ‘myAdmin’ к серверу MongoDB.

проверка подключения

Создание первой базы данных и пользователя

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

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

use mydb

Теперь выполните следующий запрос, чтобы создать нового пользователя ‘myUser’ с правами на чтение и запись в базу данных ‘ mydb ‘. Введите новый пароль, когда будет предложено.

use mydb  
db.createUser(  
{  
user: "myUser",  
pwd: passwordPrompt(),  
roles: [ { role: "readWrite", db: "mydb" },  
{ role: "read", db: "reporting" } ]  
}  
)

создание новой базы данных и пользователя

Далее выполните следующие запросы, чтобы переключиться на базу данных ‘ admin ‘ и проверить список пользователей на вашем сервере MongoDB.

use admin  
db.system.users.find()

Вы должны увидеть пользователей ‘ myAdmin ‘ и ‘ myUser ‘, созданных следующим образом:

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

список пользователей

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

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

вход в mongodb

Выполните запрос ниже, чтобы проверить текущее соединение

db.runCommand({connectionStatus : 1})

В разделе ‘ authInfo ‘ вы можете увидеть, что вы аутентифицированы как пользователь ‘ myUser ‘ и база данных ‘ mydb ‘.

проверка подключения

Заключение

Поздравляем! Вы завершили установку MongoDB 7.0 на сервер Debian 12. Вы также узнали, как защитить сервер MongoDB, включив аутентификацию, а затем создав нового администратора для MongoDB. Наконец, вы узнали, как создать новую базу данных MongoDB и пользователя для ваших приложений.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.