Как запустить сервер mongodb linux

Руководство по MongoDB Linux

Устанавливаем MongoDB из стандартного репозитория

Данные mongodb по умолчанию будет хранить в каталоге /var/lib/mongodb
Логи — в каталоге — /var/log/mongodb

Заходим в mongo

Welcome to the MongoDB shell.
For interactive help, type «help».
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
>

СУБД используем BSON — своеобразную интерпретацию JSON (JavaScript Object Notation)

Рассмотри примеры и убедимся в том, что синтаксис очень схож.

JSON:

<
«firstName»:»Andrey»,
«lastName»: «Ivanov»
«Age»: 25
>


JavaScript:

firstname = «Andrey»;
lastName = «Ivanov»;
Age = 25


BSON:

USER COLLECTION
<
_id:ObjectId(«7678sd6fsdfbhw367er3»),
«firstName»:»Andrey»,
«lastName»: «Ivanov»
«Age»: 25,
«projects:[«Project A», «Project B», «Project C»]»
«addresses»: [
<
street: «123 Lunacharskogo st»
city: «Yekaterinburg»,
state: «Sverdlovskaya oblast»
>,
<
street: «4568 Sadovaya st»
city: «Moscow»,
state: «Central region»
>
]
>,
<
_id:ObjectId(«7678s7826fsdfbhw367er3»),
«firstName»:»Nikolay»,
«lastName»: «Petrov»
«Age»: 54
>;

Таким образом, заметно основное отличие нереляционных БД. Определенные элементы могут иметь признаки, которых другие элементы той же таблицы не имеют. В MySQL потребовалось бы создавать ряды и колонки для адреса и проектов, в Монго это не требуется.

Выводим всех пользователей, существующих в документах — элементах БД

Создадим пользователя admin и пользователей с ограниченными правами

Переходим в каталог, в который установлен пакет

Заходим в консоль СУБД

Даем указание на необходимость использования базы

switched to db admin

И создаем пользователя с правами userAdminAnyDatabase

Добавляем другого пользователя

Просматриваем существующие базы

Инициализируем базу people (команда создает базу при первой к ней обращению, что аналогично CREATE DATABASE people в MySQL)

Добавляем пользователя с правами на чтение и запись

Successfully added user:

Таким образом мы установили пакет, авторизовались в консоли, создали первые базы данных, а также пользователей, одного с безграничным доступом ко всем базам, другого с доступом на чтение и запись

В следующей статье цикла рассматриваются понятия «документа» и «коллекции» в MongoDB

Источник

Установка и подключение к MongoDB

В данной инструкции мы рассмотрим процесс установки MongoDB на Linux Ubuntu (Debian). Также будут приведены примеры настройки подключения по сети, защита соединения с помощью шифрования и аутентификации.

Установка

На странице MongoDB Community Downloads смотрим стабильные версии программного продукта. На момент обновления инструкции это была 4.4.

Обратите внимание, установка MongoDB возможна на большое число популярных операционных систем — Amazon, Debian, Ubuntu, macOS, CentOS, Red Hat, Windows и другие.

Переходим на страницу загрузки ключей для проверки подлинности репозитория. Копируем ссылку для версии MongoDB, которую мы планируем установить:

* в данном примере мы скопировали ссылку на ключ для версии 4.4. Обратите внимание, что также есть возможность загрузки ключей для более свежих и менее стабильных версий.

С помощью скопированной ссылки скачиваем и устанавливаем ключ:

wget -qO — https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add —

Создаем файл для настройки репозитория Ubuntu:

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

* focal — название релиза Ubuntu. В данном примере, версия 20.04. На данный момент возможны варианты:

  • focal: 20.04.
  • bionic: 18.04.
  • xenial: 16.04.

Обновляем список пакетов:

apt-get install mongodb-org

Стартуем сервис и разрешаем его автозапуск:

systemctl start mongod

systemctl enable mongod

Для подключения к СУБД вводим команду:

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

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

admin 0.000GB
config 0.000GB
local 0.000GB

В качестве примера работы мы можем попробовать создать новую базу данных и коллекцию. Объекты в MongoDB создаются автоматически при первом к ним обращении.

Для создания базы просто обращается к ней:

* в данном примере будут создана база newDB.

Для создания коллекции, выполняем команду на вставку данных:

Выходим из оболочки SQL:

Доступ по сети

По умолчанию к установленной базе можно подключиться только с локального компьютера. Рассмотрим процесс настройки сетевого доступа.

Для начала, откроем порт в брандмауэре:

iptables -I INPUT -p tcp —dport 27017 -j ACCEPT

* по умолчанию, MongoDB работает на TCP-порту 27017.

В системах на базе Ubuntu и Debian брандмауэр работает по принципу разрешения. Если мы не меняли данной настройки, то нам не обязательно создавать разрешающее правило для Mongo.

Открываем конфигурационный файл СУБД:

Находим директиву net и в ней опцию bindIp — добавляем IP-адрес, на котором наш сервер должен принимать запросы для MongoDB:

net:
port: 27017
bindIp: 127.0.0.1, 192.168.1.15

* в нашем примере мы добавили к 127.0.0.1 адрес 192.168.1.15 — это сетевой адрес нашего сервера, на котором он должен принимать запросы.

Перезапускаем сервис mongod:

systemctl restart mongod

Чтобы проверить подключение, на другом компьютере должен быть установлен клиент для подключения к Mongo. Процесс его установки схож с установкой сервера. Рассмотрим пример для Ubuntu.

Устанавливаем ключ для репозитория:

wget -qO — https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add —

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

* как в случае с сервером, focal — название релиза Ubuntu. В данном примере, версия 20.04. Другие варианты: bionic: 18.04, xenial: 16.04.

Обновляем список пакетов:

Устанавливаем клиентскую часть:

apt-get install mongodb-org-shell

Теперь можно подключиться к нашему серверу:

* в данном примере мы подключаемся к серверу MongoDB 192.168.1.15.

Также мы можем использовать MongoDB Compass — это приложение под Windows, Linux и macOS для работы с базой Mongo в графическом интерфейсе. Скачать его можно на странице официального сайта.

Аутентификация

По умолчанию, мы можем подключиться к СУБД без авторизации. Если нам необходимо повысить безопасность работы с базой, можно требовать ввода логина и пароля.

Заходим в командную оболочку Mongo:

Подключаемся к базе admin:

Создаем пользователя, под которым будем авторизовываться:

* в данном примере мы создадим пользователя с правами доступа на все базы. Логин root, пароль будет запрошен после ввода.

Придумываем и вводим пароль

После создания пользователя мы должны увидеть, примерно, следующую картину:

Successfully added user: <
«user» : «root»,
«roles» : [
<
«role» : «userAdminAnyDatabase»,
«db» : «admin»
>,
«readWriteAnyDatabase»
]
>

Выходим из командной оболочки:

Открываем конфигурационный файл:

Находим директиву security и задаем параметр authorization:

security:
authorization: enabled

Перезапускаем сервис mongod:

systemctl restart mongod

Теперь пробуем подключиться к mongo. Мы можем авторизоваться несколькими способами.

а) Авторизация при подключении:

mongo —authenticationDatabase «admin» -u «root» -p

* в данном примере мы подключимся к базе под пользователем root. Пароль будет запрошен системой после ввода команды.

б) Авторизация после подключения:

Теперь усилим безопасность, зашифровав передачу данных. Для этого нам понадобиться сертификат. В нашем примере, мы будем использовать самоподписанный сертификат, но в продуктивной среде, лучше его купить или запросить у Let’s Encrypt.

Создаем каталог, в котором разместим наши сертификаты:

mkdir -p /etc/ssl/mongodb

Сгенерируем самоподписанный сертификат:

openssl req -new -x509 -days 1461 -nodes -out /etc/ssl/mongodb/cert.pem -keyout /etc/ssl/mongodb/cert.pem -subj «/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=mongo.dmosk.local/CN=mongo»

Выставим в качестве владельца на файлы сертификата пользователя mongodb:

chown mongodb:mongodb /etc/ssl/mongodb/cert.pem

Открываем конфигурационный файл СУБД:

В директиву net дописываем опции TLS:

net:
.
tls:
mode: requireTLS
certificateKeyFile: /etc/ssl/mongodb/cert.pem

* в данном примере мы указали необходимость шифрования данных при передаче, а также путь до сгенерированного нами сертификата.

Перезапускаем сервис mongod:

systemctl restart mongod

Для подключения к базе с использованием шифрования используем команду:

mongo —tls —tlsAllowInvalidCertificates

* в данном примере мы указываем при подключении использовать шифрование с использованием TLS. Опция tlsAllowInvalidCertificates говорит, что клиент должен принять неправильный сертификат (так как у нас он самоподписанный).

Так как у нас еще настроена аутентификация, для подключения введем такую команду:

mongo —tls —tlsAllowInvalidCertificates —authenticationDatabase «admin» -u «root» -p

Для подключения к нашему серверу по сети, полная команда будет такой:

mongo «mongodb://192.168.1.15:27017» —tls —tlsAllowInvalidCertificates —authenticationDatabase «admin» -u «root» -p

Примеры подключения из языков программирования

Рассмотрим небольшие примеры для подключения к MongoDB из языков программирования PHP и Python.

Для возможности работы PHP с Mongo необходимо установить соответствующее расширение. Выполняем пошагово следующие действия:

apt-get install php-pear php-dev

pecl channel-update pecl.php.net

pecl install mongodb

Для каждого возможного варианта использования PHP необходимо создать отдельный конфигурационной файл. В данном примере, под php 7.4 для cli, php-fpm, apache.

Источник

linux-notes.org

MongoDB (от англ. humongous — огромный) — документоориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных. Написана на языке C++.

Возможности MongoDB:

  • Ad hoc запросы;
  • Индексация;
  • Репликация;
  • Балансировка нагрузки;
  • Файловое хранилище;
  • Агрегация;
  • Исполнение JavaScript на стороне сервера;
  • Коллекции с фиксированным размером.

Установка MongoDB в Unix/Linux

Сейчас я приведу некоторые примеры по установки MongoDB для нескольких Unix/Linux ОС.

Установка MongoDB на Debian

И так, для начала, импортируем ключ:

Добавляем MongoDB репозиторий.

Если используете Debian 7 (Wheezy):

Или, если использовать интерпрайс версию:

Если используете Debian 8 (Jessie):

Или, если использовать интерпрайс версию:

Вы можете установить последнюю стабильную версию MongoDB:

ИЛИ, для установки интерпрайса:

Т.к дебиан после установки, сразу запускает службы, нам нужно остановить сервер с монгой:

И запускаем сново:

Добавляем сервер в автозагрузку ОС:

Удаление MongoDB сервера

ИЛИ, если хотите удалить enterprise:

Удалите базы данных и лог-файлов:

Собственно, вот и вся установка\удаление MongoDB.

Установка MongoDB на Ubuntu

И так, для начала, импортируем ключ:

Добавляем MongoDB репозиторий.

Если используете Ubuntu 12.04:

Или, если использовать интерпрайс версию:

Если используете Ubuntu 14.04:

Или, если использовать интерпрайс версию:

Если используете Ubuntu 16.04:

Или, если использовать интерпрайс версию:

Вы можете установить последнюю стабильную версию MongoDB:

ИЛИ, для установки enterprise версии:

Добавляем сервер в автозагрузку ОС:

Удаление MongoDB сервера

ИЛИ, для удалении enterprise версии:

Удалите базы данных и лог-файлов:

Собственно, вот и вся установка\удаление MongoDB.

Установка MongoDB на CentOS/Fedora/RedHat

Создаем файл с репозиотрием:

ИЛИ, enterprise вариант:

И, выполняем установку:

Для установки интерпрайса, используем:

PS: Если используется SELinux, то нужно его настроить для работы с монгой:

Так же, можно выключить его, я описывал как это можно сделать:
Как отключить SELinux на CentOS?

После чего, запускаем сервер:

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

Удаление MongoDB сервера

Удалите базы данных и лог-файлов:

Собственно, вот и вся установка\удаление MongoDB.

Установка MongoDB на Mac OS X

Подключаем homebrew — Установка homebrew на Mac OS X и после чего, выполняем поиск пакета:

И, выполняем установку:

Чтобы установить монгу с поддержкой TLS/SSL, используем:

Чтобы установить последнюю версию ( которая находиться в тестировании), введите следующую команду:

Создаем папку для хранения БД (путь используется по умолчанию):

Для запуска, выполняем:

Если вы не используете каталог данных по умолчанию (т. е. /data/db), укажите путь к каталогу данных с помощью параметра —dbpath:

Установка MongoDB на другие Unix/Linux

Скачиваем последнюю версию утилиты:

Создаем папку для хранения БД (путь используется по умолчанию):

Для запуска, выполняем:

Если вы не используете каталог данных по умолчанию (т. е. /data/db), укажите путь к каталогу данных с помощью параметра —dbpath:

PS: Если хотите установить enterprise, то действия такие же.

На этом, у меня все. Статья «Установка MongoDB в Unix/Linux» завершена.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Читайте также:  Windows 10 and graphics drivers
Оцените статью