Установка MongoDB на Ubuntu
В этом руководстве будет рассмотрен процесс установки базы данных MongoDB на виртуальные серверы под управлением операционной системы Ubuntu 14.04 x64.
Что это такое
MongoDB — это кроссплатформенная документно-ориентированная база данных. Она относится к базам типа NoSQL. Вместо традиционной табличной реляционной структуры базы в ней используются JSON-подобные документы.
Важный момент: разработчики базы данных гарантируют качественную работу системы только на 64-битных версиях Ubuntu 12.04 (Precise Pangolin) и 14.04 LTS (Trusty Tahr). Пакеты MongoDB могут работать и в других версиях ОС, однако их стабильность не гарантируется.
Виртуальный сервер Ubuntu
- Бесплатное тестирование
- API к панели управления
- От 318 руб./мес.
Установка MongoDB
Прежде всего для установки MongoDB в Ubuntu, необходимо импортировать публичный ключ безопасности базы данных для того, чтобы его могла использовать система управления пакетами операционной системы. Пакетные менеджеры Ubuntu (то есть dpkg или apt) требуют, чтобы разработчики подписывали свои продукты GPG-ключами. Чтобы импортировать открытый ключ разработчиков MongoDB, нужно выполнить в консоли сервера следующую команду:
sudo apt-key adv —keyserver hkp://keyserver.ubuntu.com:80 —recv 7F0CEB10
Затем потребуется создать файл списков для базы данных — /etc/apt/sources.list.d/mongodb-org-3.0.list. Для этого нужно использовать команду, подходящую для определенной версии определенной системы. В Ubuntu 14.04 она выглядит так:
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
После этого следует обновить локальную базу пакетов:
sudo apt-get update
И, собственно, установить пакеты mongodb для Ubuntu. Следующая команда установит поседний стабильный релиз базы данных:
sudo apt-get install -y mongodb-org
А с помощью такой команды можно установить какую-то конкретную версию базы:
sudo apt-get install -y mongodb-org=3.0.7 mongodb-org-server=3.0.7 mongodb-org-shell=3.0.7 mongodb-org-mongos=3.0.7 mongodb-org-tools=3.0.7
Здесь важный момент заключается в том, что необходимо указывать версию базы для каждого устанавливаемого пакета, иначе будет устанавливаться последняя стабильная версия каждого из них.
По умолчанию, команда apt-get будет обновлять все пакеты, по мере выхода новых стабильных версий. Чтобы предотвратить такие обновления, можно «закрепить» версии пакетов. Чтобв это сделать, нужно воспользоваться последовательностью следующих команд:
echo "mongodb-org hold" | sudo dpkg —set-selections
echo "mongodb-org-server hold" | sudo dpkg —set-selections
echo "mongodb-org-shell hold" | sudo dpkg —set-selections
echo "mongodb-org-mongos hold" | sudo dpkg —set-selections
echo "mongodb-org-tools hold" | sudo dpkg —set-selections
Запуск MongoDB
Для запуска mongod необходимо выполнить эту команду:
sudo service mongod start
Чтобы убедиться в том, что запуск произошел успешно, нужно проверить лог-файл /var/log/mongodb/mongod.log. В нем должна появиться строчка:
где <port> — это порт, сконфигурированный в /etc/mongod.conf. По умолчанию это порт 27017.
Остановить процесс mongod можно с помощью следующей команды:
sudo service mongod stop
Для перезапуска испольуется другая простая команда:
sudo service mongod restart
Примечание: для того, чтобы облегчить пользователям старт работы с базы данных, разработчики системы создали многочисленные руководства по использованию различных версий MongoDB (на английском языке).
Если вы захотите удалить MongoDB Ubuntu, то потребуется удалить приложения, конфигурационные файлы и все директории, содержащие файлы и логи. Важно понимать, что процесс удаления необратим, и все данные, хранившиеся в базе будут потеряны — если в ней хранится какая-либо важная информация, стоит предварительно провести процесс резервного копирования.
Прежде всего нужно остановить работу базы данных, сделать это можно следующей командой: sudo service mongod stop
Затем удаляются ранее установленные пакеты: sudo apt-get purge mongodb-org*
А следом — директории с данными и лог-файлы: sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
Источник
Установка MongoDB в Ubuntu 20.04
MongoDB (или просто Mongo) – это свободная и открытая документная база данных, которая используется преимущественно в современных веб-приложениях. Она относится к базам NoSQL, потому что она не использует традиционную табличную структуру, как в реляционных базах данных.
Вместо этого Mongo использует JSON-подобные документы с динамическими схемами. То есть, в отличие от реляционных баз данных, перед добавлением данных в базу MongoDB не требует заранее определенной схемы. Вы можете изменять схему в любое время и делать это так часто, как это необходимо, и при этом вам не нужно создавать новую базу данных с новой схемой.
Этот мануал поможет вам установить MongoDB, а также научит управлять сервисом.
Требования
Для работы вам понадобится сервер Ubuntu 20.04, настроенный по этому мануалу (включая брандмауэр UFW и пользователя sudo).
1: Установка MongoDB
Официальный репозиторий пакетов Ubuntu включает стабильную версию MongoDB. Однако на момент написания этого мануала в репозиториях Ubuntu по умолчанию была доступна версия 3.6, а последняя стабильная версия MongoDB – 4.4.
Чтобы получить самую последнюю стабильную версию, вы должны добавить специальный репозиторий пакетов MongoDB в список источников APT. Затем вы сможете установить mongodb-org, мета-пакет, который всегда содержит последнюю версию MongoDB.
Для начала импортируйте открытый ключ GPG для последней стабильной версии MongoDB. Вы можете найти соответствующий файл на сервере ключей MongoDB; на нем нужно найти файл, который содержит номер последней стабильной версии и заканчивается на .asc. Например, если вы хотите установить версию 4.4, вы должны искать файл с именем server-4.4.asc.
Кликните на файл правой кнопкой мыши и выберите Copy link address. Затем вставьте эту ссылку в следующую команду curl, заменив указанный в примере URL:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add —
cURL – это инструмент командной строки для передачи данных, доступный во многих операционных системах. Он считывает все данные, хранящиеся по указанному URL, и передает их на вывод системы. В нашем примере cURL выводит содержимое файла GPG и затем передает его команде sudo apt-key add -, тем самым добавляя ключ GPG в список доверенных ключей.
Также обратите внимание, что наша команда curl использует параметры -fsSL, которые подавляют сообщения об ошибках. Это означает, что если по какой-то причине cURL не может связаться с сервером GPG (или сервер GPG не работает), cURL не сможет случайно добавить полученный код ошибки в ваш список доверенных ключей.
Эта команда вернет OK, если ключ был добавлен успешно:
Если вы хотите убедиться, что в список был добавлен правильный ключ, вы можете сделать это с помощью следующей команды:
В выводе должен быть ключ MongoDB:
/etc/apt/trusted.gpg
———————
pub rsa4096 2019-05-28 [SC] [expires: 2024-05-26] 2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5
uid [ unknown] MongoDB 4.4 Release Signing Key <packaging@mongodb.com>
. . .
На данный момент менеджер apt еще не знает, где найти пакет mongodb-org, необходимый для установки последней версии MongoDB.
На вашем сервере есть два места, где APT ищет онлайн-источники пакетов для загрузки и установки: это файл sources.list и каталог sources.list.d. В файле sources.list перечислены активные источники данных APT (по одному источнику в каждой строке), а наиболее приоритетные источники указаны первыми. Каталог sources.list.d позволяет добавлять такие записи sources.list как отдельные файлы.
Выполните следующую команду, чтобы создать в каталоге sources.list.d файл mongodb-org-4.4.list. В этом файле будет храниться всего одна строка (deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse).
echo «deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse» | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Эта строка сообщит APT все, что ему нужно знать, чтобы найти и установить MongoDB.
- deb: это означает, что исходная запись ссылается на обычную архитектуру Debian. В других случаях в этой части строки может быть deb-src, что означает, что исходная запись представляет собой исходный код дистрибутива Debian.
- [ arch = amd64, arm64 ] указывает, на какие архитектуры следует загружать данные APT. В данном случае это архитектуры amd64 и arm64.
- https://repo.mongodb.org/apt/ubuntu: это URI, представляющий место, где можно найти данные APT. В этом случае URI указывает на адрес HTTPS, где расположен официальный репозиторий MongoDB.
- focal/mongodb-org/4.4: репозитории Ubuntu могут содержать несколько разных релизов. Эта часть команды указывает, что вам нужна только версия 4.4 пакета mongodb-org, доступная для основного релиза Ubuntu (Focal Fossa – кодовое имя Ubuntu 20.04).
- multiverse: эта часть указывает APT на один из четырех основных репозиториев Ubuntu (в данном случае – на репозиторий multiverse).
После этого обновите индекс пакетов сервера:
sudo apt update
Затем установите пакет MongoDB.
sudo apt install mongodb-org
Чтобы подтвердить установку, нажмите Y и ENTER.
База данных MongoDB установлена на сервер. Теперь вам нужно проверить, работает ли она.
2: Запуск сервиса MongoDB и тестирование базы данных
Описанный выше процесс установки автоматически настраивает MongoDB в качестве демона systemd, а это означает, что вы можете управлять MongoDB с помощью различных команд systemctl. Однако эта процедура установки не запускает сервис MongoDB автоматически.
Выполните следующую команду systemctl, чтобы запустить сервис:
sudo systemctl start mongod.service
Затем проверьте состояние сервиса. Обратите внимание, что эта команда не включает расширение .service в определение файла сервиса. Система systemctl автоматически добавит этот суффикс к любому аргументу, который вы передадите, если его еще нет, поэтому его необязательно включать:
sudo systemctl status mongod
Команда должна вернуть такой вывод, если все работает правильно:
mongod.service — MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2020-06-09 12:57:06 UTC; 2s ago
Docs: https://docs.mongodb.org/manual
Main PID: 37128 (mongod)
Memory: 64.8M
CGroup: /system.slice/mongod.service
└─37128 /usr/bin/mongod —config /etc/mongod.conf
Согласно выводу systemd, сервер MongoDB работает.
Теперь добавьте сервис в автозагрузку:
sudo systemctl enable mongod
Вы можете дополнительно проверить работоспособность базы данных, подключившись к серверу БД и выполнив команду диагностики. Следующая команда подключится к базе данных и выведет ее текущую версию, адрес сервера и порт. Она также вернет результат внутренней команды MongoDB connectionStatus:
connectionStatus проверит и вернет статус подключения к базе данных. Значение 1 в поле ok означает, что сервер работает должным образом:
MongoDB shell version v4.4.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session < "id" : UUID("1dc7d67a-0af5-4394-b9c4-8a6db3ff7e64") >
MongoDB server version: 4.4.0
<
«authInfo» : <
«authenticatedUsers» : [ ],
«authenticatedUserRoles» : [ ] >,
«ok» : 1
>
Обратите внимание, что база данных работает по порту 27017 на 127.0.0.1 (это локальный loopback адрес, который представляет localhost). Это номер порта по умолчанию MongoDB.
Далее мы расскажем, как управлять экземпляром MongoDB с помощью systemd.
3: Управление сервисом MongoDB
Как вы уже знаете, БД MongoDB устанавливает сервис systemd, а это значит, что вы можете управлять базой с помощью стандартных команд systemd вместе с другими системными сервисами Ubuntu.
Чтобы проверить состояние сервиса, введите:
sudo systemctl status mongod
Эта команда останавливает сервер:
sudo systemctl stop mongod
Чтобы запустить сервер, введите:
sudo systemctl start mongod
Перезапустить сервер можно с помощью этой команды:
sudo systemctl restart mongod
По умолчанию MongoDB запускается автоматически. Если вы хотите удалить сервис из автозагрузки, введите:
sudo systemctl disable mongod
Снова добавить сервис в автозагрузку можно с помощью такой команды:
sudo systemctl enable mongod
Заключение
В этом руководстве мы добавили официальный репозиторий MongoDB в свою систему и установили последнюю версию MongoDB. Затем мы протестировали работу Mongo и ознакомились с основными командами systemctl для этого сервиса.
В ближайшем будущем мы настоятельно рекомендуем вам обеспечить безопасность установки MongoDB. Для этого следуйте нашему руководству по защите MongoDB в Ubuntu 20.04.
Источник
Как установить MongoDB на Ubuntu 18.04
Введение
MongoDB — это бесплатная СУБД с открытым исходным кодом. Это документоориентированная СУБД, реализованная при помощи подхода NoSQL. На июль 2018 года MongoDB входит в пятерку самых популярных СУБД (при этом остальные четыре СУБД — реляционные).
Преимущества использования MongoDB — это высокая скорость разработки, масштабируемость, использование гибкого языка для формирования запросов, эффективное хранение двоичных данных больших объемов.
Требования
Для того, чтобы выполнить инструкции из этой статьи, у вас должен быть сервер с установленной на нем ОС Ubuntu 18.04, пользователем, который может выполнять команды sudo, и фаерволом.
Шаг 1: установка MongoDB
Актуальную версию MongoDB можно установить из официальных репозиториев Ubuntu. Для этого можно использовать утилиту apt.
Сначала нужно обновить список пакетов:
А затем установить MongoDB:
Эта команда устанавливает несколько пакетов, а именно саму СУБД MongoDB и полезные инструменты для работы с сервером. Сервер базы данных автоматически начнет работать сразу после установки.
Теперь надо проверить, что сервер запущен и работает корректно.
Шаг 2: проверка работы базы данных
Для начала нужно проверить статус службы. Сделать это можно при помощи следующей команды:
Вывод на экране будет примерно вот таким:
То есть утилита systemctl (она используется для управления службами в Linux) показывает, что сервер MongoDB запущен и работает.
Если этого недостаточно, то можно подключиться к серверу базы данных и выполнить диагностику.
В выводе вы увидите версию текущей базы данных, адрес сервера и порт.
Единица в поле “ok” говорит о том, что сервер работает корректно.
Теперь необходимо разобраться в том, как управлять сервером.
Шаг 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-адресом и тем, который вы добавляете.
Источник
Как установить MongoDB в Ubuntu 20.04
MongoDB — это бесплатная база данных документов с открытым исходным кодом. Он принадлежит к семейству баз данных под названием NoSQL, которое отличается от традиционных баз данных SQL на основе таблиц, таких как MySQL и PostgreSQL.
В MongoDB данные хранятся в гибких документах, подобных JSON, где поля могут варьироваться от документа к документу. Для этого не требуется заранее заданная схема, а структура данных может изменяться со временем.
В этом руководстве описывается, как установить и настроить MongoDB Community Edition в Ubuntu 20.04.
Стандартные репозитории Ubuntu включают устаревшую версию MongoDB. Установить последнюю версию MongoDB в Ubuntu довольно просто. Мы включим репозиторий MongoDB, импортируем ключ GPG репозитория и установим сервер MongoDB.
Установка MongoDB в Ubuntu 20.04
Выполните следующие шаги от имени пользователя root или пользователя с привилегиями sudo для установки MongoDB в Ubuntu:
Установите зависимости, необходимые для добавления нового репозитория через HTTPS:
Импортируйте GPG-ключ репозитория и добавьте репозиторий MongoDB с помощью:
На момент написания этой статьи последней версией MongoDB была версия 4.4. Чтобы установить другую версию, замените 4.4 на предпочитаемую версию.
После включения репозитория установите мета-пакет mongodb-org , набрав:
В вашей системе будут установлены следующие пакеты:
- mongodb-org-server — демон mongod и соответствующие сценарии инициализации и конфигурации.
- mongodb-org-mongos — демон mongos .
- mongodb-org-shell — mongodb-org-shell mongo, интерактивный интерфейс JavaScript для MongoDB. Он используется для выполнения административных задач из командной строки.
- mongodb-org-tools — содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики, а также другие утилиты.
Запустите демон 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 :
После этого выйдите из оболочки mongo с помощью:
Чтобы проверить изменения, войдите в оболочку mongo, используя ранее созданного администратора:
Запустите show users и вы должны увидеть информацию о вновь созданном пользователе:
Вы также можете попытаться получить доступ к оболочке mongo без каких-либо аргументов (просто введите mongo ) и посмотрите, сможете ли вы перечислить пользователей, используя те же команды, что и выше.
Выводы
Мы показали вам, как установить и настроить MongoDB в Ubuntu 20.04. Для получения дополнительной информации по этой теме посетите руководство MongoDB .
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.
Источник