Установка MongoDB на Rocky Linux 8
О чём эта статья
Эта инструкция показывает, как быстро и безопасно установить MongoDB Community на сервер с Rocky Linux 8, проверить работоспособность, создать первую базу и пользователя, а также включает чек-листы и краткую методологию для администраторов и разработчиков.
Варианты запроса (primary intent + related)
- Установка MongoDB
- MongoDB на Rocky Linux 8
- Настройка mongod
- Mongo shell и создание БД
- Безопасность MongoDB
Требования
- Сервер с Rocky Linux 8 и минимум 10 ГБ свободного места на диске.
- Непользователь root с sudo-привилегиями (или root-доступ).
- Доступ в интернет для получения пакетов из репозитория MongoDB.
Обновление системы
Войдите на сервер как root или пользователь с sudo и выполните обновление пакетов:
sudo dnf update -yДобавление репозитория MongoDB
Пакет MongoDB отсутствует в стандартных репозиториях Rocky Linux, поэтому нужно добавить официальный репозиторий MongoDB Community. Выполните команду (как root или через sudo):
cat > /etc/yum.repos.d/mongodb.repo << 'EOL'
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOLПримечание: строка $releasever обычно подставит номер версии дистрибутива (например, 8). Убедитесь, что репозиторий соответствует вашей версии Rocky Linux.
Установка MongoDB Community
После добавления репозитория обновите метаданные и установите пакет mongodb-org:
sudo dnf update
sudo dnf install -y mongodb-org
Проверка версии
После установки проверьте версию демона mongod:
mongod --version
Управление сервисом MongoDB
На RHEL-подобных системах служба демона называется mongod. По умолчанию служба не всегда запускается автоматически после установки, поэтому проверьте её статус:
sudo systemctl status mongodЕсли сервис не запущен, запустите и включите его при загрузке:
sudo systemctl start mongod
sudo systemctl enable mongodПроверьте статус ещё раз:
sudo systemctl status mongod
Важно: если в инструкции вы встретите команды с именем сервиса mongodb, замените их на mongod — это распространённая путаница.
Где MongoDB хранит данные и логи
По умолчанию:
- Директория данных: /var/lib/mongo
- Логи: /var/log/mongodb/mongod.log
Если есть подозрения на ошибку запуска, просмотрите логи:
tail -n 200 /var/log/mongodb/mongod.log
Подключение к Mongo Shell
MongoDB предоставляет shell-интерфейс для взаимодействия с базами данных. Откройте его так:
mongo
Внутри shell можно выполнять команды. Чтобы увидеть текущую базу данных:
dbСоздание новой базы данных и коллекции
Переключитесь на новую базу данных и создайте коллекцию с одним документом:
use test-db
db.linux.insertOne(
{ "ubuntu" : "20.04",
"centos" : "8",
"debian" : "10"
}
)Нажмите Enter, чтобы выполнить вставку.
Показать коллекции и документы:
show collections
db.linux.find().pretty()Создание пользователя базы данных
Внутри mongo shell создадим пользователя admin с правами чтения/записи в базе test-db:
db.createUser(
{
user: 'admin',
pwd: '$trongP@ssWord',
roles: [ { role: 'readWrite', db: 'test-db' } ]
}
);Нажмите Enter, затем проверьте список пользователей:
db.getUsers()
Чтобы выйти из shell:
exitКритерии приёмки
- Сервис mongod успешно запущен и в статусе active (running).
- mongod отвечает на локальные подключения через mongo shell.
- Создана база test-db, коллекция linux и документ успешно возвращается через db.linux.find().
- Пользователь admin присутствует в результатах db.getUsers().
Базовая безопасность и жёсткая настройка
Важно: по умолчанию MongoDB не включает аутентификацию. На production-сервере выполните следующие шаги:
- Включите аутентификацию в конфигурационном файле /etc/mongod.conf, добавив или изменив секцию security:
security:
authorization: "enabled"Ограничьте сетевые интерфейсы: в /etc/mongod.conf проверьте bindIp (по умолчанию 127.0.0.1). Для доступа с конкретных хостов перечислите их явно.
Настройте брандмауэр (firewalld) для ограничения доступа к порту 27017 только разрешённым IP/сетям.
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.0.2.0/24" port protocol="tcp" port="27017" accept'
sudo firewall-cmd --reloadИспользуйте сильные пароли и, при возможности, TLS/SSL между клиентами и сервером.
Регулярно делайте бэкапы (mongodump/mongorestore или filesystem snapshots).
Следите за правами доступа на каталоги /var/lib/mongo и /var/log/mongodb.
Чек-листы по ролям
Администратор:
- Добавить репозиторий и установить mongodb-org.
- Запустить и включить mongod.
- Включить authorization и настроить bindIp.
- Настроить брандмауэр и мониторинг логов.
- Выполнить резервное копирование.
Разработчик:
- Подключиться через mongo shell.
- Создать базу и коллекции.
- Создать тестовых пользователей с минимальными правами.
- Написать и запустить простые запросы find/insert/update.
Мини‑методология внедрения (3 шага)
- Установка и базовая проверка: добавить репозиторий, установить пакет, запустить mongod и проверить лог.
- Тестирование окружения: создать тестовую базу, вставить данные, проверить восстановление бэкапа.
- Безопасность и эксплуатация: включить авторизацию, настроить сеть, настроить бэкапы и мониторинг.
Полезный cheat sheet команд
- Обновление системы: sudo dnf update -y
- Установка: sudo dnf install -y mongodb-org
- Запуск: sudo systemctl start mongod
- Включить при старте: sudo systemctl enable mongod
- Статус: sudo systemctl status mongod
- Просмотр логов: tail -n 200 /var/log/mongodb/mongod.log
- Mongo shell: mongo
- Создать пользователя: db.createUser(…)
- Бэкап: mongodump –out /path/to/dump
- Восстановление: mongorestore /path/to/dump
Совместимость и заметки по версиям
- В этом руководстве использован репозиторий для MongoDB 4.4; при необходимости поменяйте номер версии в /etc/yum.repos.d/mongodb.repo.
- MongoDB 4.4 поддерживает большинство современных клиентских драйверов, но перед обновлением проверьте совместимость приложений.
- Если вы мигрируете с более старой версии (например, 3.x), сначала прочитайте официальные заметки об обновлении и выполните тестовую миграцию.
Когда такой подход не подходит
- Для предприятий с требованием корпоративной поддержки и расширённых возможностей (LDAP, Kerberos, продвинутый мониторинг) рассмотрите MongoDB Enterprise.
- Если у вас распределённые транзакции ACID-критичного уровня, возможно, лучше подойдёт реляционная СУБД.
Частые ошибки и как их исправить
- Сервис не запускается: проверьте /var/log/mongodb/mongod.log на сообщения об ошибках, проверьте права каталогов и свободное место.
- Невозможно подключиться удалённо: убедитесь в правильности bindIp и правил firewall.
- Ошибки при обновлении пакетов: очистите кэш dnf и проверьте GPG-ключ репозитория.
Вопросы и ответы
Как включить аутентификацию?
Включите authorization: “enabled” в /etc/mongod.conf и перезапустите mongod. Создайте административного пользователя перед включением, если нужно.
Как сделать бэкап базы?
Используйте mongodump для логической резервной копии или снимки файловой системы для быстрого восстановления (учитывая согласованность данных).
Где хранятся данные и логи?
По умолчанию данные в /var/lib/mongo, логи в /var/log/mongodb/mongod.log.
Краткая сводка
- Добавьте официальный репозиторий MongoDB и установите mongodb-org.
- Запускайте и управляйте службой через systemctl (mongod).
- Тестируйте через mongo shell, создавайте базы и пользователей.
- Обязательно включайте авторизацию и ограничивайте сетевой доступ на production.
Важно: перед внесением изменений на production выполните тестирование на стенде.
Глоссарий (одно предложение)
- mongod: демон сервера MongoDB, который обслуживает подключения и хранит данные.
- mongo: интерактивная оболочка для работы с MongoDB.
- коллекция: набор документов в MongoDB, аналог таблицы в реляционных БД.
Заключение
В этой инструкции мы установили MongoDB Community на Rocky Linux 8, проверили работу демона, создали базу и пользователя, а также рассмотрели базовые меры безопасности и полезные команды для администраторов и разработчиков. Следуйте чек-листам и методологии, чтобы оперативно и безопасно внедрять MongoDB в вашей инфраструктуре.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента