Установка и настройка MongoDB на linux ubuntu 24.04
Подробное руководство по установке, настройке и оптимизации MongoDB для linux ubuntu 24.04
Введение
MongoDB - популярная NoSQL-база данных с открытым исходным кодом. Это руководство поможет:
- Установить последнюю стабильную версию MongoDB
- Настроить безопасный доступ
- Оптимизировать базовую конфигурацию
- Решить типичные проблемы
Требования
Для работы потребуется:
- Ubuntu 24.04 (64-bit)
- Права администратора (sudo)
- Минимум 2 ГБ свободного места
- Открытый порт 27017 (если нужен внешний доступ)
Установка
Подготовка
1sudo apt update && sudo apt upgrade -y 2sudo apt install -y gnupg curl wget
Процесс установки
- Импортируем GPG-ключ:
1curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb.gpg
- Добавляем репозиторий:
1echo "deb [arch=amd64 signed-by=/usr/share/keyrings/mongodb.gpg] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
- Устанавливаем MongoDB:
1sudo apt update 2sudo apt install -y mongodb-org
- Запускаем службу:
1sudo systemctl enable --now mongod 2sudo systemctl status mongod
Настройка
- Редактируем конфигурационный файл:
1sudo nano /etc/mongod.conf
- Изменяем параметры:
1net: 2 port: 27017 3 bindIp: 0.0.0.0 # Для внешнего доступа 4security: 5 authorization: enabled
- Перезагружаем службу:
1sudo systemctl restart mongod
- Создаем администратора:
1mongosh 2use admin 3db.createUser({ 4 user: "admin", 5 pwd: passwordPrompt(), 6 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 7})
Типичные ошибки и их решения
Ошибка подключения извне
Проверьте:
- Брандмауэр:
sudo ufw allow 27017
- Параметр bindIp в конфиге
Authentication Failed
Убедитесь что:
- security.authorization: enabled
- Пользователь создан в правильной БД
Заключение
Вы успешно установили MongoDB с базовыми настройками безопасности. Для production-среды:
- Настройте репликацию
- Регулярно делайте бэкапы
- Обновляйте версии
Команды
Обновление пакетов
sudo apt update && sudo apt upgrade -y
Проверка работы MongoDB
1mongosh --eval 'db.runCommand({ connectionStatus: 1 })'
Просмотр логов
1journalctl -u mongod -f
Решение проблем
Служба mongod не запускается
Проверьте синтаксис конфигурационного файла: sudo mongod --config /etc/mongod.conf --fork --syslog
1sudo systemctl status mongod
Нет доступа к порту 27017
Добавьте правило в firewall: sudo ufw allow 27017/tcp
sudo ufw status
Ошибка при выполнении mongosh
Убедитесь что установлен пакет mongodb-mongosh
1sudo apt install mongodb-mongosh