Как установить mongodb ubuntu

Обновлено: 06.07.2024

MongoDB — бесплатная база данных документов NoSQL с открытым исходным кодом, часто используемая в современных веб-приложениях.

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

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

Для данного обучающего модуля вам потребуется следующее:

  • Один сервер Ubuntu 18.04, настроенный в соответствии с обучающим модулем Начальная настройка сервера Ubuntu 18.04, включая пользователя sudo без привилегий root и брандмауэр.

Шаг 1 — Установка MongoDB

Официальные хранилища пакетов Ubuntu включают актуальную версию MongoDB, и это означает, что мы можем установить необходимые пакеты с помощью apt .

Вначале необходимо обновить список пакетов, чтобы получить последнюю версию списка хранилища:

Затем мы установим сам пакет MongoDB:

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

Затем нужно убедиться, что сервер запущен и работает корректно.

Шаг 2 — Проверка службы и базы данных

Запуск MongoDB был автоматически выполнен в процессе установки, но теперь нужно убедиться, что служба запущена и база данных работает.

Вначала проверим состояние службы:

Вы увидите следующий результат:

Согласно systemd , сервер MongoDB запущен и работает.

Мы можем дополнительно подтвердить это, выполнив фактическое подключение к серверу базы данных и запустив диагностическую команду

Запустите следующую команду:

Команда выведет текущую версию базы данных, адрес и порт сервера, а также результаты выполнения команды status:

Значение 1 поля ok в ответе означает, что сервер работает нормально.

Теперь мы рассмотрим, как управлять экземпляром сервера.

Шаг 3 — Управление службой MongoDB

MongoDB устанавливается как служба systemd, т. е. вы можете управлять ей с помощью стандартных команд systemd наряду со всеми другими системными службами в Ubuntu.

Чтобы проверить состояние службы, введите:

Вы можете остановить сервер в любое время, введя следующую команду:

Чтобы запустить остановленный сервер, введите:

Также вы можете перезапустить сервер с помощью одной команды:

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

Точно так же легко снова включить его. Для этого нужно использовать следующую команду:

Теперь изменим настройки параметров брандмауэра для нашей системы MongoDB.

Шаг 4 — Настройка брандмауэра (необязательно)

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

Если вы намереваетесь использовать сервер MongoDB только локально с запуском приложений на том же сервере, эту безопасную настройку рекомендуется сохранить. Однако если вы хотите иметь возможность подключения к серверу MongoDB из интернета, необходимо разрешить входящие подключения в ufw .

Чтобы разрешить доступ к MongoDB через порт по умолчанию 27017 из любой точки, можно использовать команду sudo ufw allow 27017 . Однако включение доступа к серверу MongoDB через интернет с параметрами по умолчанию даст кому угодно доступ к серверу базы данных и его содержимому.

В большинстве случаев доступ к MongoDB следует разрешать только из определенных доверенных мест, таких как другой сервер хостинга приложения. Для этого нужно разрешить доступ к порту MongoDB по умолчанию, но указать IP-адрес другого сервера, которому будет дано явное разрешение на подключение:

Вы можете проверить изменение параметров брандмауэра с помощью ufw :

В результатах вывода должно быть видно, что трафик на порт 27017 разрешен:

Если вы решили разрешить подключение к серверу MongoDB только для одного IP-адреса, этот адрес должен быть указан в выводимом списке вместо «Anywhere».

Хотя порт открыт, MongoDB прослушивает только локальный адрес 127.0.0.1 . Чтобы разрешить удаленные подключения, добавьте публичный маршрутизируемый IP-адрес вашего сервера в файл mongod.conf .

Откройте файл конфигурации MongoDB в редакторе:

Добавьте IP-адрес вашего сервера в значение bindIP :

Обязательно поставьте запятую между уже записанным IP-адресом и добавленным.

Сохраните файл, закройте редактор и перезапустите MongoDB:

Теперь MongoDB прослушивает удаленные соединения, но доступ к нему открыт для всех. Следуйте указаниям части 2 руководства «Установка и защита MongoDB в Ubuntu 16.04», чтобы добавить административного пользователя и дополнительные ограничения.

Заключение

Более подробные обучающие модули по настройке и использованию MongoDB можно найти в следующих статьях сообщества DigitalOcean. Официальная документация по MongoDB также содержит много информации о возможностях, предоставляемых MongoDB.

MongoDB - популярная реализация нереляционной базы данных. Если в двух словах, то базы данных бывают нескольких типов. Базы реляционного типа - самые популярные, хранят данные в записях таблицы, которая состоит из столбцов и строк. MongoDB принадлежит к объектно-ориентированному типу. Главное отличие этого типа в том, что работа и хранение данных осуществляется с помощью объектов, точно так же, как это делается в популярных объективно-ориентированных языках программирования (C++, Java).

Реляционные базы данных обычно используются для данных, которым важна сохранность и максимальная надёжность. Объектно-ориентированные базы данных более быстрые, но менее надёжные и часто используются для хранения различных событий и статистических данных. В этой инструкции я расскажу, как выполняется установка MongoDB Ubuntu 20.04.

Установка MongoDB

1. Установка из репозитория дистрибутива

В современных дистрибутивах утилита добавлена в официальный репозиторий современных версий Ubuntu. Для её установки достаточно выполнить:

sudo apt install mongodb-server


Затем можно посмотреть состояние службы:

sudo systemctl status mongod


И добавить её в автозагрузку, если это необходимо:

sudo systemctl enable mongod

Работать с базой данных можно через клиент командной строки Mongo. Например, давайте посмотрим версию базы данных:


Если вы собираетесь удалить MongoDB, то обратите внимание, что эта база данных может уже использоваться каким-либо приложением, поэтому сначала убедитесь, что, удалив её, вы ничего не сломаете.

1. Установка из репозитория разработчиков

Если вы хотите получить самую свежую версию программы, то необходимо устанавливать её из репозитория разработчиков MongoDB. Прежде чем устанавливать эту версию, надо удалить версию из официальных репозиториев, если она была установлена:

sudo apt purge mongodb*

Далее нужно интегрировать публичный ключ, чтобы система приняла пакет, для этого наберите в терминале:

С помощью следующей команды создаём список файлов пакета:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

Обновим базу данных локальных пакетов:

sudo apt update

И можно переходить к установке:

sudo apt install -y mongodb-org

Далее надо запустить сервис mongod и добавить его в автозагрузку:

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod

Далее смотрим версию:


Если что-то не работает, логи сервиса можно посмотреть в папке /var/log/mongodb, файлы баз данных - /var/lib/mongodb.

Настройка MongoDB

По умолчанию база данных не защищена паролем и подключится к ней может кто угодно. Чтобы этого избежать, надо защитить базу данных. Для этого нужно создать базу данных и пользователя для неё, который сможет управлять всеми базами данных. Войдите в интерфейс управления Mongo:

Переключитесь в базу данных admin и создайте нового пользователя:

Здесь мы задаём имя пользователя Admin и разрешаем ему доступ ко всем базам данных. После нажатия Enter программа запросит пароль для нового пользователя. Введите пароль и всё будет готово.

Далее откройте конфигурационный файл /etc/mongod.conf и добавьте туда такие строчки:

sudo vi /etc/mongod.conf

security:
authorization: enabled


Затем перезапустите MongoDB:

sudo systemctl restart mongod

После этого вы все ещё сможете подключится к MongoDB с помощью клиента Mongo, но чтобы выполнить какие-либо действия, вам понадобится авторизация. Например, вы не сможете посмотреть список баз данных, создать пользователя или получить данные из базы. Например, команда show databases вернёт пустой результат:


Для подключения с авторизацией используйте команду:

$ mongo --authenticationDatabase имя_базы_данных -u имя_пользователя -p

mongo --authenticationDatabase "admin" -u "Admin" -p


Удаление MongoDB

Чтобы удалить MongoDB с компьютера, наберите:

sudo apt purge mongodb-org*

Или если вы устанавливали программу из официальных репозиториев, используйте:

sudo apt purge mongodb*

Теперь вы знаете, как установить MongoDB Ubuntu 18.04 на ваш компьютер, а также как проверить, какая версия у вас установлена, и работает ли вообще эта база данных.

В MongoDB данные хранятся в гибких документах, подобных JSON, где поля могут варьироваться от документа к документу. Для этого не требуется заранее заданная схема, а структура данных может изменяться со временем.

В этом руководстве описывается, как установить и настроить MongoDB Community Edition в Ubuntu 20.04.

Стандартные репозитории Ubuntu включают устаревшую версию MongoDB. Установить последнюю версию MongoDB в Ubuntu довольно просто. Мы включим репозиторий MongoDB, импортируем ключ GPG репозитория и установим сервер MongoDB.

Установка MongoDB в Ubuntu 20.04

Выполните следующие шаги от имени пользователя root или пользователя с привилегиями sudo для установки MongoDB в Ubuntu:

Импортируйте GPG-ключ репозитория и добавьте репозиторий MongoDB с помощью:

На момент написания этой статьи последней версией MongoDB была версия 4.4. Чтобы установить другую версию, замените 4.4 на предпочитаемую версию.

После включения репозитория установите мета-пакет mongodb-org , набрав:

В вашей системе будут установлены следующие пакеты:

Запустите демон MongoDB и включите его запуск при загрузке, набрав:

Чтобы проверить, успешно ли завершилась установка, подключитесь к серверу базы данных MongoDB с mongo инструмента mongo и распечатайте статус подключения:

Результат будет выглядеть примерно так:

Значение 1 для поля ok указывает на успех.

Настройка MongoDB

Файл конфигурации MongoDB называется mongod.conf и находится в каталоге /etc Файл в формате YAML .

В большинстве случаев достаточно настроек конфигурации по умолчанию. Однако для производственных сред мы рекомендуем раскомментировать раздел безопасности и включить авторизацию, как показано ниже:

Параметр authorization включает управление доступом на основе ролей (RBAC), которое регулирует доступ пользователей к ресурсам и операциям базы данных. Если эта опция отключена, каждый пользователь будет иметь доступ ко всем базам данных и выполнять любые действия.

При редактировании файла конфигурации MongoDB перезапустите службу mongod, чтобы изменения вступили в силу:

Чтобы найти дополнительную информацию о параметрах конфигурации, доступных в MongoDB 4.4, посетите страницу документации по параметрам файла конфигурации .

Создание администратора MongoDB

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

Доступ к оболочке mongo:

Изнутри оболочки MongoDB введите следующую команду для подключения к базе данных admin :

Выполните следующую команду, чтобы создать нового пользователя с именем mongoAdmin , с паролем changeMe и ролью userAdminAnyDatabase :

Не забудьте установить более надежный пароль. Вы можете назвать административного пользователя MongoDB как хотите.

После этого выйдите из оболочки mongo с помощью:

Чтобы проверить изменения, войдите в оболочку mongo, используя ранее созданного администратора:

Запустите show users и вы должны увидеть информацию о вновь созданном пользователе:

Вы также можете попытаться получить доступ к оболочке mongo без каких-либо аргументов (просто введите mongo ) и посмотрите, сможете ли вы перечислить пользователей, используя те же команды, что и выше.

Выводы

Мы показали вам, как установить и настроить MongoDB в Ubuntu 20.04. Для получения дополнительной информации по этой теме посетите руководство MongoDB .

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Как установить MongoDB на Ubuntu 18.04

MongoDB – это бесплатная СУБД с открытым исходным кодом. Это документоориентированная СУБД, реализованная при помощи подхода NoSQL. На июль 2018 года MongoDB входит в пятерку самых популярных СУБД (при этом остальные четыре СУБД – реляционные).

Преимущества использования MongoDB – это высокая скорость разработки, масштабируемость, использование гибкого языка для формирования запросов, эффективное хранение двоичных данных больших объемов.

Требования

Для того чтобы выполнить инструкции из этой статьи, у вас должен быть сервер с установленной на нем ОС Ubuntu 18.04, пользователем, который может выполнять команды sudo, и файрволом.

VDS Timeweb арендовать

Шаг 1: Установка MongoDB

Актуальную версию MongoDB можно установить из официальных репозиториев Ubuntu. Для этого можно использовать утилиту apt.

Сначала нужно обновить список пакетов:

А затем установить MongoDB:

Эта команда устанавливает несколько пакетов, а именно саму СУБД MongoDB и полезные инструменты для работы с сервером. Сервер базы данных автоматически начнет работать сразу после установки.

Теперь надо проверить, что сервер запущен и работает корректно.

Шаг 2: Проверка работы базы данных

Для начала нужно проверить статус службы. Сделать это можно при помощи следующей команды:

Вывод на экране будет примерно вот таким:

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

Если этого недостаточно, то можно подключиться к серверу базы данных и выполнить диагностику.

В выводе вы увидите версию текущей базы данных, адрес сервера и порт.

Единица в поле ОК говорит о том, что сервер работает корректно.

Теперь необходимо разобраться в том, как управлять сервером.

Шаг 3: Управление MongoDB

MongoDB устанавливается в качестве службы systemd, а значит, управлять СУБД можно при помощи стандартных команд system – точно так же, как и другими службами Ubuntu.

Команда для того, чтобы проверить статус службы:

Команда для остановки сервера:

Команда для запуска сервера после остановки:

Команда для того, чтобы перезапустить службу:

По умолчанию MongoDB запускается вместе с запуском сервера, но эту предустановку можно изменить следующей командой:

Если вам снова нужно добавить службу в автозагрузку, то введите:

Теперь можно перейти к настройке фаервола.

Шаг 4: Настройка файрвола

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

Однако если вы хотите сделать возможным доступ через интернет, то вам нужно разрешить входящие соединения в ufw.

Для того чтобы дать доступ к MongoDB по стандартному порту 27017, можно использовать команду:

Но в этом случае доступ к базе данных получат абсолютно все пользователи, что небезопасно.

Поэтому лучше разрешить доступ только из определенных мест, например с другого сервера. Для этого вам нужно дать доступ к стандартному порту MongoDB, но с указанием IP-адреса другого сервера, с которого можно будет подсоединяться:

Проверить изменения в настройках файрвола можно командой:

В выводе вы увидите, что трафик по порту 27017 разрешен:

Несмотря на то, что порт открыт, сейчас MongoDB слушает только локальный адрес 127.0.0.1. Для того чтобы разрешить удаленные подключения, вам нужно добавить в файл mongod.conf публичный IP-адрес вашего сервера.

Откройте конфигурационный файл MongoDB:

Добавьте IP-адрес сервера в строку bindIP:

Обязательно поставьте запятую между уже написанным IP-адресом и тем, который вы добавляете.

Читайте также: