Поиск по сайту:

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


MongoDB — это современная система управления базами данных документов с открытым исходным кодом, предназначенная для обеспечения высокопроизводительного сохранения данных, высокой доступности, а также автоматического масштабирования на основе современной технологии . НетSQL. В MongoDB запись – это документ, который представляет собой структуру данных, состоящую из пар полей и значений (документы MongoDB сравнимы с объектами JSON).

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

В этой статье мы объясним, как установить MongoDB, управлять его службой и настроить базовую аутентификацию в Ubuntu 18.04.

Важно. Следует отметить, что разработчики MongoDB предлагают пакеты только для 64-битных LTS (долгосрочная поддержка) выпусков Ubuntu, таких как Важно.14.04 LTS (надежный), 16.04 LTS (xenial) и так далее.

Читайте также: как установить MongoDB в Ubuntu 16.04/14.04 LTS

Шаг 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

Шаг 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. Создайте корневого пользователя и пароль базы данных MongoDB.

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

mongo 

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

> show dbs

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

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

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

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

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

Теперь выйдите из оболочки 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

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

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

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

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

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

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

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

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