
MongoDB — это бесплатная документоориентированная база данных с открытым исходным кодом. Она относится к классу NoSQL-баз данных, что отличается от традиционных табличных SQL-баз данных, таких как MySQL и PostgreSQL.
В MongoDB данные хранятся в гибких документах формата JSON, поля которых могут различаться от документа к документу. Предопределенная схема не требуется, а структура данных может меняться со временем.
В этом руководстве мы покажем вам, как установить и настроить MongoDB Community Edition на сервере CentOS 7 из официальных репозиториев MongoDB.
Предпосылки
Прежде чем продолжить работу с этим руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка MongoDB
На момент написания этой статьи последней версией MongoDB, доступной в официальных репозиториях MongoDB, была версия 4.0. Прежде чем перейти к следующему шагу, ознакомьтесь с разделом «Установка в Red Hat» документации MongoDB и проверьте, доступна ли новая версия.
Чтобы установить последнюю стабильную версию MongoDB на сервер CentOS, выполните следующие действия:
-
Включение репозитория MongoDB
Чтобы добавить репозиторий MongoDB в свою систему, откройте текстовый редактор и создайте новый файл конфигурации репозитория YUM с именем
mongodb-org.repoвнутри каталога/etc/yum.repos.d/:/etc/yum.repos.d/mongodb-org.repo
[mongodb-org-4.0] name = MongoDB Repository baseurl = https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck = 1 enabled = 1 gpgkey = https://www.mongodb.org/static/pgp/server-4.0.ascЕсли вы хотите установить более старую версию MongoDB, замените каждый экземпляр
4.0на предпочитаемую вами версию. -
Установка MongoDB
Теперь, когда репозиторий включен, вы можете установить метапакет
mongodb-orgс помощью утилиты yum:sudo yum install mongodb-orgВо время установки yum предложит импортировать GPG-ключ MongoDB. Введите
yи нажмитеEnter.Следующие пакеты будут установлены в вашей системе как часть пакета
mongodb-org:-
mongodb-org-server— демонmongod, а также соответствующие сценарии инициализации и конфигурации. -
mongodb-org-mongos— демонmongos. -
mongodb-org-shell— оболочка mongo, интерактивный интерфейс JavaScript для MongoDB, используемый для выполнения административных задач через командную строку. -
mongodb-org-tools— содержит несколько инструментов MongoDB для импорта и экспорта данных, статистики, а также другие утилиты.
-
-
Запуск MongoDB
После завершения установки запустите демон MongoDB и включите его автозагрузку, введя:
sudo systemctl start mongodsudo systemctl enable mongod -
Проверка установки MongoDB
Для проверки установки подключимся к серверу базы данных MongoDB с помощью инструмента
mongoи распечатаем версию сервера:mongoПосле того как вы окажетесь внутри оболочки MongoDB, введите следующую команду, которая отобразит версию MongoDB:
db.version()Вывод будет выглядеть следующим образом:
4.0.1
Настройка MongoDB
Вы можете настроить свой экземпляр MongoDB, отредактировав файл конфигурации /etc/mongod.conf , написанный на языке YAML .
В большинстве случаев настроек по умолчанию достаточно. Однако для производственной среды мы рекомендуем раскомментировать раздел безопасности и включить авторизацию, как показано ниже:
/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 и ролью 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 на сервере CentOS 7.
Более подробную информацию по этой теме можно найти в руководстве MongoDB 4.0 .
База данных centos mongodb Не используете CentOS 7?
Выберите другую ОС: центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04
Связанные руководства