MongoDB — это бесплатная база данных документов с открытым исходным кодом. Он принадлежит к семейству баз данных под названием NoSQL, которое отличается от традиционных баз данных SQL на основе таблиц, таких как MySQL и PostgreSQL.
В MongoDB данные хранятся в гибких документах, подобных JSON, где поля могут варьироваться от документа к документу. Для этого не требуется заранее заданная схема, а структура данных может изменяться со временем.
В этом руководстве описывается, как установить и настроить MongoDB Community Edition в Ubuntu 20.04.
Стандартные репозитории Ubuntu включают устаревшую версию MongoDB. Установить последнюю версию MongoDB в Ubuntu довольно просто. Мы включим репозиторий MongoDB, импортируем ключ GPG репозитория и установим сервер MongoDB.
Содержание
Установка MongoDB в Ubuntu 20.04
Выполните следующие шаги от имени пользователя root или пользователя с привилегиями sudo для установки MongoDB в Ubuntu:
-
Установите зависимости, необходимые для добавления нового репозитория через HTTPS:
sudo apt update
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
-
Импортируйте GPG-ключ репозитория и добавьте репозиторий MongoDB с помощью:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
sudo add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse'
На момент написания этой статьи последней версией MongoDB была версия 4.4. Чтобы установить другую версию, замените
4.4
на предпочитаемую версию. -
После включения репозитория установите мета-пакет
mongodb-org
, набрав:sudo apt install mongodb-org
В вашей системе будут установлены следующие пакеты:
-
mongodb-org-server
— демонmongod
и соответствующие сценарии инициализации и конфигурации. -
mongodb-org-mongos
— демонmongos
. -
mongodb-org-shell
—mongodb-org-shell
mongo, интерактивный интерфейс JavaScript для MongoDB. Он используется для выполнения административных задач из командной строки. -
mongodb-org-tools
— содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики, а также другие утилиты.
-
-
Запустите демон MongoDB и включите его запуск при загрузке, набрав:
sudo systemctl enable --now mongod
-
Чтобы проверить, успешно ли завершилась установка, подключитесь к серверу базы данных MongoDB с
mongo
инструментаmongo
и распечатайте статус подключения:mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Результат будет выглядеть примерно так:
MongoDB shell version v4.4.0 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("2af3ab0e-2197-4152-8bd0-e33efffe1464") } MongoDB server version: 4.4.0 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Значение
1
для поляok
указывает на успех.
Настройка MongoDB
Файл конфигурации MongoDB называется mongod.conf
и находится в каталоге /etc
Файл в формате YAML .
В большинстве случаев достаточно настроек конфигурации по умолчанию. Однако для производственных сред мы рекомендуем раскомментировать раздел безопасности и включить авторизацию, как показано ниже:
sudo nano /etc/mongod.conf
security:
authorization: enabled
Параметр authorization
включает управление доступом на основе ролей (RBAC), которое регулирует доступ пользователей к ресурсам и операциям базы данных. Если эта опция отключена, каждый пользователь будет иметь доступ ко всем базам данных и выполнять любые действия.
При редактировании файла конфигурации MongoDB перезапустите службу mongod, чтобы изменения вступили в силу:
sudo systemctl restart mongod
Чтобы найти дополнительную информацию о параметрах конфигурации, доступных в MongoDB 4.4, посетите страницу документации по параметрам файла конфигурации .
Создание администратора MongoDB
Если вы включили аутентификацию MongoDB, вам потребуется создать пользователя с правами администратора, который сможет получить доступ к экземпляру MongoDB и управлять им.
Доступ к оболочке mongo:
mongo
Изнутри оболочки MongoDB введите следующую команду для подключения к базе данных admin
:
use admin
switched to db admin
Выполните следующую команду, чтобы создать нового пользователя с именем mongoAdmin
, с паролем changeMe
и ролью userAdminAnyDatabase
:
db.createUser(
{
user: "mongoAdmin",
pwd: "changeMe",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Successfully added user: {
"user" : "mongoAdmin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
После этого выйдите из оболочки mongo с помощью:
quit()
Чтобы проверить изменения, войдите в оболочку mongo, используя ранее созданного администратора:
mongo -u mongoAdmin -p --authenticationDatabase admin
use admin
switched to db admin
Запустите show users
и вы должны увидеть информацию о вновь созданном пользователе:
show users
{
"_id" : "admin.mongoAdmin",
"userId" : UUID("49617e41-ea3b-4fea-96d4-bea10bf87f61"),
"user" : "mongoAdmin",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
Вы также можете попытаться получить доступ к оболочке mongo без каких-либо аргументов (просто введите mongo
) и посмотрите, сможете ли вы перечислить пользователей, используя те же команды, что и выше.
Выводы
Мы показали вам, как установить и настроить MongoDB в Ubuntu 20.04. Для получения дополнительной информации по этой теме посетите руководство MongoDB .
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.