Поиск по сайту:

Как установить и настроить MongoDB в Ubuntu 16.04 LTS


MongoDB — это база данных NoSQL, которая предлагает высокую производительность, высокую доступность и автоматическое масштабирование корпоративной базы данных. MongoDB — это база данных NoSQL, поэтому вы не можете использовать SQL (язык структурированных запросов) для вставки и извлечения данных, и она не хранит данные в таблицах, таких как MySQL или Postgres. Данные хранятся в структуре документа в формате JSON (в MongoDB называется BSON). MongoDB впервые была представлена в 2009 году и в настоящее время разрабатывается компанией MongoDB Inc.

\MongoDB предоставляет пакеты только для 64-разрядных выпусков Ubuntu LTS (долгосрочная поддержка). Например, 12.04 LTS (точный), 14.04 LTS (доверенный), 16.04 LTS (xenial) и т. д.\  сайт mongodb.

Предпосылки

  • Сервер Ubuntu 16.04 — 64-разрядная версия
  • Привилегии root

Что мы будем делать в этом уроке:

  1. Установите MongoDB
  2. Настройка MongoDB
  3. Заключение

Установите MongoDB на Ubuntu 16.04

Шаг 1 — Импорт открытого ключа

Ключи GPG дистрибьютора программного обеспечения требуются менеджером пакетов Ubuntu apt (Advanced Package Tool) для обеспечения согласованности и подлинности пакета. Запустите эту команду, чтобы импортировать ключи MongoDB на ваш сервер.

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

Шаг 2. Создайте файл исходного списка MongoDB.

Создайте файл списка MongoDB в /etc/apt/sources.list.d/ с помощью этой команды:

echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

Шаг 3 - Обновите репозиторий

обновите репозиторий командой apt:

sudo apt-get update

Шаг 4 — Установите MongoDB

Теперь вы можете установить MongoDB, введя эту команду:

sudo apt-get install -y mongodb-org

Мы должны создать новый служебный файл MongoDB systemd в каталоге /lib/systemd/system. Перейдите в этот каталог и создайте новый файл службы MongoDB mongod.service с помощью редактора vim.

cd /lib/systemd/system/
vim mongod.service

Вставьте скрипт ниже:

[Unit]
Description=High-performance, schema-free document-oriented database
After=network.target
Documentation=https://docs.mongodb.org/manual

[Service]
User=mongodb
Group=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите.

Теперь обновите службу systemd с помощью следующей команды:

systemctl daemon-reload

Запустите MongoDB и добавьте ее в качестве службы, которая будет запускаться во время загрузки:

systemctl запустить mongod
systemctl включить mongod

Теперь убедитесь, что MongoDB запущена на порту 27017 с помощью команды netstat.

netstat -plntu

Настройте имя пользователя и пароль MongoDB

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

Шаг 1 — Откройте оболочку монго

Прежде чем настроить имя пользователя и пароль для MongoDB, вам необходимо открыть оболочку MongoDB на своем сервере. Вы можете войти, набрав:

mongo

Если вы получаете сообщение об ошибке Failed global initialization: BadValue Invalid или не задана локаль пользователя. Убедитесь, что переменные среды LANG и/или LC_* установлены правильно, попробуйте выполнить команду:

export LC_ALL=C
mongo

Шаг 2 - Переключитесь на администратора базы данных

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

use admin

Шаг 3 — Создайте пользователя root

Создайте пользователя root с помощью этой команды:

db.createUser({user:"admin", pwd:"admin123", roles:[{role:"root", db:"admin"}]})

Описание. Создайте пользователя admin с паролем admin123 и правами/ролями root, а также базу данных admin.

Теперь введите exit, чтобы выйти из оболочки MongoDB.

Шаг 4. Включите аутентификацию mongodb.

Отредактируйте файл службы mongodb /lib/systemd/system/mongod.service с помощью вашего редактора.

vim /lib/systemd/system/mongod.service

В строке 9 ExecStart добавьте новый параметр --auth.

ExecStart=/usr/bin/mongod --quiet --auth --config /etc/mongod.conf

Сохраните файл службы и выйдите из vim.

Перезагрузите службу systemd:

systemd daemon-reload

Шаг 5 — Перезапустите MongoDB и попробуйте подключиться

Теперь перезапустите MongoDB и подключитесь к созданному пользователю.

sudo service mongod restart

и подключитесь к оболочке MongoDB с помощью этой команды:

mongo -u admin -p admin123 --authenticationDatabase admin

и вы увидите такой вывод:

Заключение

Хорошо известной базой данных NoSQL, обеспечивающей высокую производительность, высокую доступность и автоматическое масштабирование, является MongoDB. Он отличается от РСУБД, таких как MySQL, PostgreSQL и SQLite, тем, что не использует SQL для установки и извлечения данных. MongoDB хранит данные в \\документах\\, называемых BSON (двоичное представление JSON с дополнительными типами информации). MongoDB доступна только для 64-разрядной версии Ubuntu с долгосрочной поддержкой.