Как установить и настроить 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
Что мы будем делать в этом уроке:
- Установите MongoDB
- Настройка MongoDB
- Заключение
Установите 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 с долгосрочной поддержкой.