Главная >> Инструкции >> Установка MongoDB в Ubuntu

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

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. Например, давайте посмотрим версию базы данных:

mongo

version()
quit()

 

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

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

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

sudo apt purge mongodb*

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

wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -

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

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:

mongo

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

use admin
db.createUser(
{
user: "Admin",
pwd: passwordPrompt(),
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)

Здесь мы задаём имя пользователя 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 на ваш компьютер, а также как проверить, какая версия у вас установлена, и работает ли вообще эта база данных.

7 комментариев к “Установка MongoDB в Ubuntu”

  1. Дружище, вот ты пишешь мануалы. Их потом копипастят самые одаренные. А потом в Шодане миллион МонгоДБшек без пароля. Добавь шаг задать пароль! Будь разумнее!

    Ответить
  2. Рекомендую пометить первый способ (установку из репозитория Ubuntu) как устаревший и не рекомендуемый, потому что такая установка вызывает множество проблем (включая, например, проблемы при установке Docker). Сейчас этот способ идёт первым пунктом и это в итоге стоило мне нескольких часов разборок, никому не пожелаю.

    Ответить

Оставьте комментарий