
MongoDB — это бесплатная документоориентированная база данных с открытым исходным кодом. Она принадлежит к семейству баз данных NoSQL, которое отличается от традиционных табличных SQL-баз данных, таких как MySQL и PostgreSQL.
В MongoDB данные хранятся в гибких документах формата JSON, поля которых могут различаться от документа к документу. Предопределенная схема не требуется, а структура данных может меняться со временем.
В этом руководстве мы объясним, как установить и настроить последнюю версию MongoDB Community Edition на Debian 10 Buster.
Установка MongoDB
MongoDB отсутствует в стандартных репозиториях Debian Buster. Мы включим официальный репозиторий MongoDB и установим пакеты.
На момент написания этой статьи последней версией MongoDB была 4.2. Перед установкой перейдите на страницу «Установка на Debian» в документации MongoDB и проверьте, доступна ли новая версия.
Чтобы установить MongoDB в системе Debian, выполните следующие действия как пользователь root или пользователь с привилегиями sudo :
-
Установите пакеты, необходимые для добавления нового репозитория:
sudo apt install dirmngr gnupg apt-transport-https software-properties-common ca-certificates curl -
Добавьте ключ MongoDB GPG в свою систему:
curl -fsSL https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add - -
Включите репозиторий MongoDB:
sudo add-apt-repository 'deb https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main'Пакеты со старыми версиями MongoDB недоступны для Debian 10.
-
Обновите список пакетов и установите метапакет
mongodb-org:sudo apt updatesudo apt install mongodb-orgСледующие пакеты будут установлены в системе как часть пакета
mongodb-org:-
mongodb-org-server— демонmongodи соответствующие сценарии инициализации и конфигурации. -
mongodb-org-mongos— демонmongos. -
mongodb-org-shell— оболочка MongoDB, представляющая собой интерактивный JavaScript-интерфейс для MongoDB. Она используется для выполнения административных задач через командную строку. -
mongodb-org-tools— содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики, а также другие утилиты.
-
-
Запустите службу MongoDB и включите ее запуск при загрузке:
sudo systemctl enable mongod --now -
Чтобы проверить, успешно ли завершилась установка, подключитесь к серверу базы данных MongoDB с помощью инструмента
mongoи распечатайте статус подключения:mongo --eval 'db.runCommand({ connectionStatus: 1 })'Вывод будет выглядеть так:
MongoDB shell version v4.2.1 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("09f11c53-605f-44ad-abec-ec5801bb6b06") } MongoDB server version: 4.2.1 { "authInfo" : { "authenticatedUsers" : [ ], "authenticatedUserRoles" : [ ] }, "ok" : 1 }Значение
1для поляokуказывает на успех.
Настройка MongoDB
Файл конфигурации MongoDB называется mongod.conf и находится в каталоге /etc . Он имеет формат YAML .
Настройки конфигурации по умолчанию подходят большинству пользователей. Однако для производственной среды рекомендуется раскомментировать раздел безопасности и включить авторизацию, как показано ниже:
/etc/mongod.conf
security : authorization : enabled
Параметр authorization включает управление доступом на основе ролей (RBAC) , которое регулирует доступ пользователей к ресурсам и операциям базы данных. Если этот параметр отключен, каждый пользователь может получить доступ ко всем базам данных и выполнять любые действия.
После редактирования файла конфигурации перезапустите службу mongod, чтобы изменения вступили в силу:
sudo systemctl restart mongod
Дополнительную информацию о параметрах конфигурации, доступных в MongoDB 4.2, можно найти на странице документации «Параметры файла конфигурации» .
Создание административного пользователя MongoDB
Если вы включили аутентификацию MongoDB, вам потребуется создать администратора, который сможет получить доступ к экземпляру MongoDB и управлять им. Для этого войдите в оболочку Mongo с помощью следующей команды:
mongo
В оболочке MongoDB введите следующую команду для подключения к базе данных admin :
use admin
switched to db admin
Выполните следующую команду, чтобы создать нового пользователя с именем 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
Введите пароль при появлении запроса. После входа в оболочку MongoDB подключитесь к базе данных admin :
use admin
switched to db admin
Теперь выведите пользователей с помощью:
show users
{ "_id" : "admin.mongoAdmin", "userId" : UUID("cdc81e0f-db58-4ec3-a6b8-829ad0c31f5c"), "user" : "mongoAdmin", "db" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ], "mechanisms" : [ "SCRAM-SHA-1", "SCRAM-SHA-256" ] }
Заключение
Мы показали вам, как установить MongoDB 4.2 на Debian 10, Buster. Подробнее об этом можно узнать в руководстве по MongoDB .
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
База данных Debian MongoDB Не используете Debian 10?
Выберите другую ОС: центос 7 центос 8 дебиан 9 убунту 18.04 убунту 20.04
Связанные руководства