Установка MongoDB
- Что такое MongoDB
- Как установить MongoDB на Ubuntu
- Как в MongoDB создать пользователя
- Как в MongoDB создать базу данных
Базы данных реляционного типа (MySQL, MS SQL, Oracle) знакомы многим. Данные в них хранятся в таблицах, а работа строится на создании запросов. Однако существуют БД с альтернативными архитектурами. Одна из таких — MongoDB. В статье мы подробно расскажем о ней, покажем, как установить MongoDB (руководство на русском), а также как создать базу данных и нового пользователя.
Что такое MongoDB
MongoDB — это система управления базами данных, которая ориентирована на работу с документами. В ней не требуется использовать таблицы со строками и столбцами, а также описывать схемы таблиц. Работа с MongoDB сводится к работе с документами формата JSON. Документы JSON формируются по принципу “ключ-значение”: в качестве ключа выступает имя поля, а в качестве значения — значение ключа. Каждый документ в системе находится в определенной группе, а группы — в коллекции.
MongoDB ориентирована на работу с популярными языками программирования — Perl, PHP, C/C++. Помимо этого, можно настроить подключение MongoDB к Node JS.
Преимущества
- MongoDB поддерживают все популярные операционные системы — Linux (Debian, Ubuntu, CentOS), Windows и MacOS;
- Данные хранятся не в таблицах, а в документах формата JSON. Этот формат позволяет создавать документы с разным содержанием и размером, а также со сложной структурой;
- База может работать на нескольких серверах (репликация);
- Хорошая масштабируемость и возможность делать динамические запросы.
Слабые стороны
Если сравнивать MongoDB с реляционными базами, то можно выделить следующие недостатки:
- сложность работы с транзакциями;
- меньшее соответствие требованиям к транзакционным системам (ACID - атомарность, согласованность, изолированность, прочность), чем в реляционных БД.
Основные компоненты архитектуры MongoDB
- _id — уникальный идентификатор документа. Создастся автоматически, даже если не прописывать его.
- Документ — запись, которая размещается в коллекции и состоит из пары “ключ-значение” (в реляционных СУБД в этом качестве выступают строки).
- Коллекция — это совокупность документов MongoDB (аналог таблицы в реляционных СУБД).
- База данных — это контейнер с коллекциями. У каждой базы данных есть свой собственный набор файлов в файловой системе. Сервер MongoDB может хранить несколько баз данных.
Например, документ в MongoDB может выглядеть так:
MongoDB: создание базы данных
Ниже мы приведём краткое руководство по установке MongoDB на Ubuntu. Полная инструкция по установке, а также методичка по базам данных в MongoDB на английском есть на официальном сайте.
Обратите внимание: если у вас ещё нет VPS-сервера, закажите его и переходите к установке.
Как установить MongoDB на Ubuntu
1. Подключитесь к VPS-серверу по SSH.
2. Добавьте GPG-ключ командой:
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
3. Добавьте репозиторий:
- для Ubuntu 18.04:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
- для Ubuntu 20.04:
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
4. Перед установкой обновите список пакетов командой:
sudo apt-get update
5. Затем установите MongoDB:
sudo apt-get install -y mongodb-org
6. Запустите базу данных командой:
sudo systemctl start mongod.service
7. Подключите автозапуск при перезагрузке:
sudo systemctl enable mongod.service
8. Посмотрите статус службы командой:
sudo systemctl status mongodb
9. Подключите удалённый доступ к MongoDB:
sudo ufw allow from ip_адрес/32 to any port 27017
Вместо ip_адрес укажите IP-адрес вашего сервера. Он приходит в письме на контактный email при подключении. Также он указан в панели управления услугой VPS.
10. Посмотрите статус:
sudo ufw status
11. Настройте удалённые соединения. Для этого откройте файл конфигурации:
- для Ubuntu 18.04 командой:
sudo nano /etc/mongodb.conf
- для Ubuntu 20.04 командой:
sudo nano /etc/mongod.conf
Затем введите следующие строки:
bind_ip = 127.0.0.1, ip_адрес
#port = 27017
Вместо ip_адрес укажите IP-адрес вашего сервера.
12. Сохраните файл и закройте его сочетанием клавиш Ctrl+X, а затем Y.
13. Перезапустите MongoDB:
sudo systemctl restart mongodb
Готово, MongoDB install Ubuntu.
Как в MongoDB создать пользователя
Следуйте инструкции ниже, чтобы создать пользователя:
1. Запустите командную строку для работы в MongoDB:
mongo
2. Войдите под администратором «admin»:
use admin
3. Введите команду:
db.createUser(
{
user: "username",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Вместо username укажите имя пользователя, а вместо password — пароль.
4. Закройте командную строку командой:
>exit
Готово.
Как в MongoDB создать базу данных
Для создания СУБД MongoDB:
1. Введите команду:
use database
Вместо database введите название нужной базы данных. Если такая БД уже существует, вы переключитесь на работу с ней.
2. Чтобы узнать, с какой базой данных идёт работа, введите:
db
3. Чтобы посмотреть список всех баз данных:
show dbs
Готово, теперь вы знаете, как подключить и как запустить MongoDB.