MongoDB — это бесплатная база данных документов с открытым исходным кодом. Он принадлежит к семейству баз данных под названием NoSQL, которые отличаются от традиционных баз данных SQL на основе таблиц, таких как MySQL и PostgreSQL.
В MongoDB данные хранятся в гибких документах, подобных JSON, где поля могут варьироваться от документа к документу. Для этого не требуется заранее заданная схема, а структура данных может изменяться со временем.
В этом руководстве мы покажем вам, как установить и настроить последнюю версию MongoDB Community Edition в системах Debian 9 из официальных репозиториев MongoDB.
Содержание
Подготовка
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка MongoDB
На момент написания этой статьи последней версией MongoDB была версия 4.0.
Прежде чем продолжить процесс установки, перейдите в раздел « Установка в Debian » документации MongoDB и проверьте, доступен ли новый выпуск.
Следующие шаги описывают, как установить MongoDB в системе Debian:
-
Сначала установите пакеты, необходимые для добавления нового репозитория:
sudo apt install software-properties-common dirmngr
-
Добавьте GPG-ключ MongoDB в вашу систему, используя следующую команду:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
-
После импорта ключа для добавления репозитория MongoDB выполните:
sudo add-apt-repository 'deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main'
Если вы хотите установить старую версию MongoDB, замените
4.0
на предпочитаемую версию. -
Обновите список пакетов:
sudo apt update
-
Установите мета-пакет
mongodb-org
с помощью:sudo apt install mongodb-org
Следующие пакеты будут установлены в вашей системе как часть пакета
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 start mongod
sudo systemctl enable mongod
-
Чтобы проверить, успешно ли завершилась установка, мы подключимся к серверу базы данных MongoDB с
mongo
инструментаmongo
и распечатаем статус подключения:mongo --eval 'db.runCommand({ connectionStatus: 1 })'
Результат будет выглядеть так:
MongoDB shell version v4.0.2 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 4.0.2 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }
Значение
1
для поляok
указывает на успех.
Настройка MongoDB
MongoDB использует файл конфигурации в формате YAML , /etc/mongod.conf
. Вы можете настроить свой экземпляр MongoDB, отредактировав этот файл.
Для большинства пользователей достаточно настроек конфигурации по умолчанию. Однако для производственных сред рекомендуется раскомментировать раздел безопасности и включить авторизацию, как показано ниже:
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"
}
]
}
Выйдите из оболочки mongo с помощью:
quit()
Чтобы проверить изменения, войдите в оболочку mongo, используя ранее созданного администратора:
mongo -u mongoAdmin -p --authenticationDatabase admin
При появлении запроса введите пароль. Как только вы окажетесь внутри оболочки MongoDB, подключитесь к базе данных 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 на своем сервере Debian 9.
Вы можете обратиться к Руководству по MongoDB 4.0 для получения дополнительной информации по этой теме.