MongoDB — это система управления базами данных с открытым исходным кодом, разработанная для обеспечения высокой производительности, высокой доступности, а также автоматического масштабирования на основе новейшей технологии NoSQL. В MongoDB каждая запись представляет собой документ, который представляет собой структуру данных, состоящую из пар полей и значений (документы MongoDB на Ubuntu сопоставимы с объектами JSON).
Поскольку MongoDB обеспечивает высокую производительность и отличную масштабируемость, MongoDB используется для создания современных приложений, для которых требуются мощные, критически важные и доступные базы данных.
В этой статье мы расскажем, как установить MongoDB на Ubuntu 18.04, управлять его сервисами и как установить базовую аутентификацию.
Важно: вы должны помнить, что разработчики MongoDB предлагают только пакеты для 64-битных LTS выпусков Ubuntu, таких как 14.04 LTS (trusty), 16.04 LTS (xenial) и т.д.
Шаг 1: Установка MongoDB на Ubuntu 18.04
1. Репозитории официального пакета программного обеспечения Ubuntu поставляются с последней версией MongoDB и могут быть легко установлены с помощью диспетчера пакетов APT.
Сначала обновите кеш системного программного обеспечения, чтобы иметь самую последнюю версию списков репозитория:
2. Затем установите пакет MongoDB, который включает в себя несколько других пакетов, таких как mongo-tools, mongodb-clients, mongodb-server и mongodb-server-core.
3. После того, как вы установили его, служба MongoDB автоматически запустится через systemd, и процесс будет прослушивать порт 27017. Вы можете проверить его состояние, используя команду systemctl:
Шаг 2: Управление службой MongoDB
4. Установка MongoDB поставляется в качестве службы systemd и легко управляется с помощью стандартных команд systemd, как показано ниже.
Чтобы остановить работу службы MongoDB, выполните следующую команду:
Чтобы запустить службу MongoDB, введите следующую команду:
Чтобы перезапустить службу MongoDB, введите следующую команду:
Чтобы отключить автоматический запуск службы MongoDB, введите следующую команду:
Чтобы снова включить службу MongoDB, введите следующую команду:
Шаг 3. Включите удаленный доступ к MongoDB на брандмауэре.
5. По умолчанию MongoDB работает на порте 27017, чтобы разрешить доступ извне, вы можете использовать:
Но предоставление доступа к MongoDB извне дает неограниченный доступ к данным базы данных. Таким образом, лучше предоставить доступ к определенному местоположению IP-адреса для порта MongoDB по умолчанию, используя следующую команду:
6. По умолчанию порт 27017 прослушивает только локальный адрес 127.0.0.1. Чтобы разрешить удаленные соединения MongoDB, вам необходимо добавить IP-адрес своего сервера в файл конфигурации /etc/mongodb.conf, как показано ниже:
Сохраните файл, выйдите из редактора и перезапустите MongoDB.
Шаг 4: Создание root пользователя и пароля для базы данных MongoDB
7. По умолчанию MongoDB поставляется с отключенной аутентификацией пользователя, поэтому MongoDB запускается без контроля доступа. Чтобы запустить оболочку mongo, выполните следующую команду:
8. После того, как вы подключились к оболочке mongo, вы можете просмотреть все доступные базы данных с помощью следующей команды:
9. Чтобы включить контроль доступа для MongoDB мы включим аутентификацию; которая требует от пользователей идентифицировать себя каждый раз, когда они подключаются к серверу базы данных.
MongoDB по умолчанию использует механизм аутентификации проверки ответа на Salted Challenge Response (SCRAM). Используя SCRAM, MongoDB проверяет предоставленные учетные данные пользователя в отношении имени пользователя, пароля и базы данных аутентификации (база данных, в которой пользователь был создан, служит для идентификации пользователя).
Вам необходимо создать администратора пользователя (аналогичного пользователю root в MySQL/MariaDB) в базе данных администратора. Этот пользователь может управлять пользователями и ролями, такими как создание пользователей, предоставление или отмена ролей пользователей, а также создание или изменение прав доступа.
Сначала перейдите в базу данных администратора, затем создайте пользователя root, используя следующие команды:
Теперь выйдите из оболочки mongo, чтобы включить аутентификацию, как описано ниже.
10. Экземпляр mongodb был запущен без опции —auth командной строки. Вам необходимо включить аутентификацию пользователей, отредактировав файл /lib/systemd/system/mongod.service, сначала откройте файл для редактирования:
В разделе конфигурации [Service] найдите параметр ExecStart.
Измените его содержание на следующее:
Сохраните файл и выйдите из него.
11. После внесения изменений в файл конфигурации запустите «systemctl daemon-reload», чтобы перезагрузить устройства и перезапустить службу MongoDB для проверки её состояния:
12. Теперь, когда вы пытаетесь подключиться к mongodb, вы должны аутентифицироваться как пользователь MongoDB. Например:
Примечание. Не рекомендуется вводить пароль в командной строке, потому что он будет сохранен в файле истории оболочки и может быть позднее просмотрен злоумышленником.
Вот и все! MongoDB — это система управления базами данных без использования SQL с открытым исходным кодом, которая обеспечивает высокую производительность, высокую доступность и автоматическое масштабирование.
В этой статье мы объяснили, как установить и начать работу с MongoDB в Ubuntu 18.04.
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
2 комментария. Оставить новый
как всё сложно … авторы вкладывают в snap пакете
sudo snap search mongo
sudo snap install mongoВЕРСИЯ
> $ sudo vim /lib/systemd/system/mongodb.service
И при следующем обновлении пакета изменения затрутся. Откройте для себя systemctl edit, он как раз предназначен для внесения в файлы .service оверрайдов, которые не будут затираться при обновлении.