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

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

MongoDB

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.

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

$ sudo apt update

 

2. Затем установите пакет MongoDB, который включает в себя несколько других пакетов, таких как mongo-tools, mongodb-clients, mongodb-server и mongodb-server-core.

$ sudo apt install mongodb

 

3. После того, как вы установили его, служба MongoDB автоматически запустится через systemd, и процесс будет прослушивать порт 27017. Вы можете проверить его состояние, используя команду systemctl:

$ sudo systemctl status mongodb

 

Check

 

 

 

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

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

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

$ sudo systemctl stop mongodb 

 

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

$ sudo systemctl start mongodb

 

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

$ sudo systemctl restart mongodb

 

Чтобы отключить автоматический запуск службы MongoDB, введите следующую команду:

$ sudo systemctl disable mongodb

 

Чтобы снова включить службу MongoDB, введите следующую команду:

$ sudo systemctl enable mongodb 

 

Шаг 3. Включите удаленный доступ к MongoDB на брандмауэре.

5. По умолчанию MongoDB работает на порте 27017, чтобы разрешить доступ извне, вы можете использовать:

$ sudo ufw allow 27017

 

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

$ sudo ufw allow from your_server_IP/32 to any port 27017
$ sudo ufw status

 

6. По умолчанию порт 27017 прослушивает только локальный адрес 127.0.0.1. Чтобы разрешить удаленные соединения MongoDB, вам необходимо добавить IP-адрес своего сервера в файл конфигурации /etc/mongodb.conf, как показано ниже:

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

 

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

$ sudo systemctl restart mongodb

 

 

Шаг 4: Создание root пользователя и пароля для базы данных MongoDB

7. По умолчанию MongoDB поставляется с отключенной аутентификацией пользователя, поэтому MongoDB запускается без контроля доступа. Чтобы запустить оболочку mongo, выполните следующую команду:

$ mongo

 

8. После того, как вы подключились к оболочке mongo, вы можете просмотреть все доступные базы данных с помощью следующей команды:

> show dbs

 

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

MongoDB по умолчанию использует механизм аутентификации проверки ответа на Salted Challenge Response (SCRAM). Используя SCRAM, MongoDB проверяет предоставленные учетные данные пользователя в отношении имени пользователя, пароля и базы данных аутентификации (база данных, в которой пользователь был создан, служит для идентификации пользователя).

Вам необходимо создать администратора пользователя (аналогичного пользователю root в MySQL/MariaDB) в базе данных администратора. Этот пользователь может управлять пользователями и ролями, такими как создание пользователей, предоставление или отмена ролей пользователей, а также создание или изменение прав доступа.

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

> use admin
> db.createUser({user:"root", pwd:"[email protected]!#@%$admin1", roles:[{role:"root", db:"admin"}]})

 

Create

 

 

Теперь выйдите из оболочки mongo, чтобы включить аутентификацию, как описано ниже.

10. Экземпляр mongodb был запущен без опции —auth командной строки. Вам необходимо включить аутентификацию пользователей, отредактировав файл /lib/systemd/system/mongod.service, сначала откройте файл для редактирования:

$ sudo vim /lib/systemd/system/mongodb.service 

 

В разделе конфигурации [Service] найдите параметр ExecStart.

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

 

Измените его содержание на следующее:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

 

Enable-Authentication

 

 

Сохраните файл и выйдите из него.

11. После внесения изменений в файл конфигурации запустите «systemctl daemon-reload», чтобы перезагрузить устройства и перезапустить службу MongoDB для проверки её состояния:

$ systemctl daemon-reload
$ sudo systemctl restart mongodb
$ sudo systemctl status mongodb 

 

Verify-MongoDB-Authentication

 

 

12. Теперь, когда вы пытаетесь подключиться к mongodb, вы должны аутентифицироваться как пользователь MongoDB. Например:

$ mongo -u "root" -p --authenticationDatabase "admin"

 

Connect-to-MongoDB-as-Root-User

 

 

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

 

Вот и все! MongoDB — это система управления базами данных без использования SQL с открытым исходным кодом, которая обеспечивает высокую производительность, высокую доступность и автоматическое масштабирование.

В этой статье мы объяснили, как установить и начать работу с MongoDB в Ubuntu 18.04.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
MongoDB

Больше похожих постов

How-to-Install-MongoDB-4-on-Debian-10

Как установить MongoDB 4 на Debian 10?

524
0
MongoDB — это кроссплатформенный сервер баз данных NoSQL с открытым исходным кодом, разработанный MongoDB Inc. Он использует JSON для хранения…

2 комментария. Оставить новый

  • как всё сложно … авторы вкладывают в snap пакете
    sudo snap search mongo
    sudo snap install mongoВЕРСИЯ
    Ответить
  • Владислав
    29 ноября 2018 20:47
    > $ sudo vim /lib/systemd/system/mongodb.service

    И при следующем обновлении пакета изменения затрутся. Откройте для себя systemctl edit, он как раз предназначен для внесения в файлы .service оверрайдов, которые не будут затираться при обновлении.

    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню