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

MongoDB — это бесплатная база данных документов с открытым исходным кодом. Он принадлежит к семейству баз данных под названием NoSQL, которое отличается от традиционных баз данных SQL на основе таблиц, таких как MySQL и PostgreSQL.

В MongoDB данные хранятся в гибких документах, подобных JSON, где поля могут варьироваться от документа к документу. Для этого не требуется заранее заданная схема, а структура данных может изменяться со временем.

В этом руководстве мы рассмотрим процесс установки и настройки последней версии MongoDB Community Edition на компьютере с Ubuntu 18.04 из официальных репозиториев MongoDB.

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Установка MongoDB

На момент написания этой статьи последней версией MongoDB была версия 4.0.

Прежде чем продолжить процесс установки, перейдите в раздел « Установка в Ubuntu » документации MongoDB и проверьте, доступен ли новый выпуск.

Следующие шаги описывают, как установить MongoDB на ваш сервер Ubuntu:

  1. Добавьте GPG-ключ MongoDB в вашу систему, используя следующую команду:

     sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

    После импорта ключа добавьте репозиторий MongoDB с помощью:

     sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'

    Если вы получили сообщение об ошибке, в котором говорится, что add-apt-repository command not found , установите software-properties-common .

    Чтобы установить старую версию MongoDB, замените 4.0 на предпочитаемую версию.

  2. Обновите список пакетов и установите мета-пакет mongodb-org , набрав:

     sudo apt update sudo apt install mongodb-org

    Следующие пакеты будут установлены в вашей системе как часть пакета mongodb-org :

    • mongodb-org-server — демон mongod и соответствующие сценарии инициализации и конфигурации.
    • mongodb-org-mongos — демон mongos .
    • mongodb-org-shellmongodb-org-shell mongo — это интерактивный интерфейс JavaScript для MongoDB. Он используется для выполнения административных задач через командную строку.
    • mongodb-org-tools — содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики, а также другие утилиты.
  3. После завершения установки запустите демон MongoDB и разрешите ему запускаться при загрузке, набрав:

     sudo systemctl start mongod sudo systemctl enable mongod
  4. Чтобы проверить, успешно ли завершилась установка, мы подключимся к серверу базы данных MongoDB с mongo инструмента mongo и распечатаем статус подключения:

     mongo --eval 'db.runCommand({ connectionStatus: 1 })'

    Результат будет выглядеть так:

     MongoDB shell version v4.0.10 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 4.0.10 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }

    Значение 1 для поля ok указывает на успех.

Настройка MongoDB

MongoDB использует файл конфигурации в формате YAML , /etc/mongod.conf . Вы можете настроить свой экземпляр MongoDB, отредактировав этот файл.

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

/etc/mongod.conf
security:
  authorization: enabled

Параметр authorization включает управление доступом на основе ролей (RBAC), которое регулирует доступ пользователей к ресурсам и операциям базы данных. Если эта опция отключена, каждый пользователь будет иметь доступ ко всем базам данных и выполнять любые действия.

После внесения изменений в файл конфигурации MongoDB перезапустите службу mongod с помощью:

sudo systemctl restart mongod

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

Создание администратора MongoDB

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

Сначала получите доступ к оболочке mongo с помощью:

mongo

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

use admin
switched to db admin

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

db.createUser(
  {
    user: "mongoAdmin", 
    pwd: "changeMe", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
Successfully added user: {
	"user" : "mongoAdmin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	]
}
Вы можете назвать административного пользователя MongoDB как хотите.

Выйдите из оболочки mongo с помощью:

quit()

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

mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin

Теперь распечатайте пользователей с помощью:

show users
{
	"_id" : "admin.mongoAdmin",
	"user" : "mongoAdmin",
	"db" : "admin",
	"roles" : [
		{
			"role" : "userAdminAnyDatabase",
			"db" : "admin"
		}
	],
	"mechanisms" : [
		"SCRAM-SHA-1",
		"SCRAM-SHA-256"
	]
}

Вы также можете попытаться получить доступ к оболочке mongo без каких-либо аргументов (просто введите mongo ) и посмотрите, сможете ли вы перечислить пользователей, используя те же команды, что и выше.

Выводы

Вы узнали, как установить и настроить MongoDB 4.0 на своем сервере Ubuntu 18.04. Посетите Руководство MongoDB 4.0 для получения дополнительной информации по этой теме.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

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