Установка MongoDB в Ubuntu. Установка MongoDB на Microsoft Windows Mongodb установка windows

|

MongoDB – это свободная и открытая система управления базами данных NoSQL, которая сегодня пользуется высокой популярностью у веб-разработчиков. Данное руководство поможет установить MongoDB на сервер Ubuntu 16.04 для окружения производства.

На момент написания статьи официальный пакет MongoDB для Ubuntu 16.04 ещё не вышел, в статье используется пакет для Ubuntu 14.04. Потому после установки MongoDB нужно будет включить программу как сервис systemd (устаревшие пакеты не делают этого автоматически, поскольку Ubuntu 14.04 использует другую систему инициализации). При использовании пакета для Ubuntu 16.04 этого делать не придётся.

Примечание : При обновлении пакета MongoDB до версии для 16.04, вероятно, придётся удалить unit-файл, созданный в данном руководстве (раздел 2), чтобы избежать конфликта пакетов. Больше проблем при обновлении не должно возникнуть. Однако, если вы не уверены и не хотите рисковать, рекомендуем подождать до выхода официального пакета для Ubuntu 16.04.

Требования

  • Настроенный сервер Ubuntu 16.04 (инструкции по начальной настройке сервера можно найти ).
  • Не-root пользователь с доступом к команде sudo.

1: Добавление репозитория MongoDB

Система MongoDB уже включена в репозитории пакетов Ubuntu, но официальный репозиторий MongoDB предоставляет более актуальную версию программы. Ubuntu проверяет подлинность пакетов программного обеспечения при помощи GPG-ключей, потому сначала нужно импортировать ключ официального репозитория MongoDB. Для этого запустите:

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

Успешно импортировав ключ, вы увидите на экране следующее:

gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)

После этого нужно добавить MongoDB в список пакетов, чтобы менеджер пакетов apt знал, откуда загружать файлы.

Чтобы создать list-файл для MongoDB, введите:

sudo echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

После этого нужно обновить индекс пакетов.

sudo apt-get update

2: Установка MongoDB

Теперь можно установить MongoDB:

sudo apt-get install -y --allow-unauthenticated mongodb-org

Примечание : Используемые в данном руководстве пакеты не соответствуют стандартам подписи Ubuntu 16.04, потому при установке используется дополнительный флаг —allow-unauthenticated.

Эта команда установит несколько пакетов, среди которых – последняя доступная версия MongoDB и полезные инструменты управления для сервера MongoDB.

Чтобы запустить MongoDB как сервис в Ubuntu 16.04, нужно создать дополнительный unit-файл. Такой файл сообщает системе инициализации systemd, как управлять тем или иным ресурсом. Сервисы – наиболее распространённый тип unit-файлов, определяющий зависимости и параметры запуска и остановки программы.

Создайте такой файл для MongoDB. Файл будет называться

mongodb.service и храниться в /etc/systemd/system.
sudo nano /etc/systemd/system/mongodb.service

Вставьте в файл следующий код:


Description=High-performance, schema-free document-oriented database
After=network.target
User=mongodb
ExecStart=/usr/bin/mongod --quiet --config /etc/mongod.conf
WantedBy=multi-user.target

Структура этого файла проста:

  • Раздел Unit содержит обзор (удобочитаемое описание сервиса) и зависимости MongoDB. В данном случае MongoDB зависит от network.target.
  • Раздел Service определяет, как запускать данный сервис. Директива User задаёт пользователя, при помощи которого будет запущен сервис (в данном случае это mongodb), а ExecStart определяет команды, при помощи которых запускается сервер MongoDB.
  • Последний раздел, Install, указывает, когда система systemd должна автоматически запустить сервис; multi-user.target – стандартная последовательность запуска (сервис запустится вместе с сервером).

Чтобы запустить новый сервис, введите:

sudo systemctl start mongodb

Данная команда не вернёт никакого вывода. Чтобы убедиться, что сервис запущен, введите:

sudo systemctl status mongodb
mongodb.service - High-performance, schema-free document-oriented database
Loaded: loaded (/etc/systemd/system/mongodb.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2016-04-25 14:57:20 EDT; 1min 30s ago
Main PID: 4093 (mongod)
Tasks: 16 (limit: 512)
Memory: 47.1M
CPU: 1.224s
CGroup: /system.slice/mongodb.service
└─4093 /usr/bin/mongod --quiet --config /etc/mongod.conf

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

sudo systemctl enable mongodb

Теперь сервис MongoDB запущен и настроен. Управлять сервисом можно при помощи команд systemctl:

sudo systemctl mongodb stop
sudo systemctl mongodb start

3: Настройка брандмауэра

Заключение

Теперь СУБД MongoDB установлена и настроена. Дополнительные инструкции по работе с MongoDB можно найти в нашем .

Tags: ,

MongoDB — это система управления базами данных, которая значительно отличается от MySQL. Основная разница заключается в том, что в MySQL запросы пишутся на языке SQL, а в MongoDB на BSON (бинарный JSON). Это значит, что работа с этой системой может осуществляться в основном через JavaScript выражения.

Также MongoDB включает в себя собственную утилиту для выполнения команд, направленных на работу с БД. В данном цикле статей, мы затронем следующие темы:

  • Установка и запуск MongoDB на Windows
  • Работа с MongoDB через консоль
  • Интеграция MongoDB и

Разработчикам не составляет труда быстро освоить работу с Mongo, если они знакомы с JSON. Этот формат использует выражения, которые состоят из пар “ключ”: “значение”.

Почему MongoDB

Между не табличными СУБД многие пользователи делают выбор в пользу MongoDB. Во-первых, данную систему можно установить практически на всех операционных системах (Windows, OSX, Linux). Во-вторых, проект до сих пор активно развивается и с завидной частотой команда разработчиков публикует обновления. Также мне кажется, что MongoDB предоставляет хорошую документацию для начинающих.

MongoDB лучше подходит в тех случаях, когда таблицы можно представить в виде объектов. По-моему, подобные системы лучше использовать при разработке приложений для мобильный устройств. В этом плане, Mongo предоставляет отдельные библиотеки, как для iOS, так и для Adndroid-а.

Ещё один весомый аргумент в пользу MongoDB: работать с данной системой можно на многих языках программирования, таких как C/C++, Python, , Rubym Perl, .NET и даже Node.js.

MongoDB — это реальное решение, если вы хотите отступить от SQL и попробовать что-то новенькое.

Ключевая терминология

Перед тем как приступить к установке MongoDB, давайте разберёмся с основными понятиями.

Как и MySQL, MongoDB может содержать множество баз данных, только вместо таблиц они содержат “коллекции”.

Коллекция — это что-то типа таблицы, только без колонок. Вместо этого каждая строка содержит наборы записей в виде ключ:значение.

Пример:

Внутри коллекции Users (пользователи) может располагаться запись с ключами firstname (имя) и lastname (фамилия). В то же время, та же коллекция может содержать запись с другими ключами: firstname, lastname, e-mail, birth (день рождения). В этом-то и заключается гибкость MongoDB.

Каждая из этих записей, или строк, называется “документ”, но это не тот документ типа.txt или.. Данная запись хранится в памяти в JSON формате.

Пример:

Предположим, в нашей коллекции содержится 500 документов. Как уже говорилось раньше, каждый из них может содержать разные поля. Единственное поле, которое должно быть у каждой записи, — это уникальный идентификатор (id), который добавляется автоматически.

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

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

Сперва качаем архив с MongoDB для win32 или win64 .

Распаковываем скачанный архив и помещаем его, к примеру, на диск C, в каталог mongodb. Причём, проследите за тем, чтобы каталог bin был доступен по адресу C:\mongodb\bin .

Далее прописываем путь к папке bin в настройках нашей ОС, для того чтобы к.exe файлам данной папки мы могли достучаться из любого места. Итак, делаем правый клик на Компьютер — Свойства. В списке слева, выбираем “Дополнительные параметры системы”:

В открывшемся окне ищем системную переменную Path. Кликаем по ней дважды. В поле “значение переменной” переходим в самый конец, ставим знак “;” и вписываем путь к каталогу bin:

Отлично! Жмём “ок”… и переходим к следующему шагу.

Для начала, нам необходимо создать каталог, где будут храниться наши БД. К примеру, C:\databases . Создаём эту папку.

Echo logpath=C:\mongodb\log\mongo.log > C:\mongodb\mongod.cfg

Данная команда создаст специальный лог файл и настройки конфигурации для сервиса.

Mongod --config C:\mongodb\mongod.cfg --install

Прежде чем запустить его, давайте отредактируем файл mongod.cfg , вписав туда настройку dbpath — путь к папке с нашими базами данных. В моём случае, после правки файла его содержание должно выглядеть примерно так:

Logpath=C:\mongodb\log\mongo.log dbpath=C:\databases

Возвращаемся к командной строке и запускаем сервис MongoDB:

Net start MongoDB

Для того чтобы проверить, будет ли сервис запускаться автоматически, нажимаем сочетание клавиш “windows+r”, пишем “services.msc”, нажимаем ОК.

В списке сервисов ищем MongoDB и, если его тип запуска не автоматический, то выставляем данный пункт, предварительно сделав правый клик, и выбрав, “свойства”.

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

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

Show dbs

В ответе вы должны увидеть вот такую вот строку:

Local (empty)

Итог

Итак, MongoDB установлена и сконфигурирована. В следующей части мы рассмотрим основные команды для работы с данной СУБД.

Последнее обновление: 14.11.2018

Для установки MongoDB загрузим один распространяемых пакетов с официального сайта https://www.mongodb.com/download-center/community .

Официальный сайт предоставляет пакеты дистрибутивов для различных платформ: Windows, Linux, MacOS, Solaris. И каждой платформы доступно несколько дистрибутивов. Причем есть два вида серверов - Community и Enterprise. В данном случае надо установить версию Community. Хотя Enterprise-версия обладает несколько большими возможностями, но она доступна только в триальном режиме или по подписке.

На момент написания данного материала последней версией платформы была версия 4.0.4 . Использование конкретной версии может несколько отличаться от применения иных версий платформы MongoDB.

Для загрузки нобходиомго функционала выберем нужную операционную систему и подходящий тип пакета:

Для ОС Windows можно выбрать тип пакета "ZIP", то есть загрузить сервер в виде архива.

Если до установки уже была установлена более рання версия MongoDB, то ее необходимо удалить и также необходимо удалить все равне созданные базы данных.

После загрузки архивного пакета распакуем его в папку C:\mongodb .

Содержимое пакета MongoDB

Если после установки мы откроем папку C:\mongodb\bin , то сможем найти там кучу приложений, которые выполняют определенную роль. Вкратце рассмотрим их.

    bsondump : считывает содержимое BSON-файлов и преобразует их в читабельный формат, например, в JSON

    mongo : представляет консольный интерфейс для взаимодействия с базами данных, своего рода консольный клиент

    mongod : сервер баз данных MongoDB. Он обрабатывает запросы, управляет форматом данных и выполняет различные операции в фоновом режиме по управлению базами данных

    mongodump : утилита создания бэкапа баз данных

    mongoexport : утилита для экспорта данных в форматы JSON, TSV или CSV

    mongofiles : утилита, позволяющая управлять файлами в системе GridFS

    mongoimport : утилита, импорирующая данных в форматах JSON, TSV или CSV в базу данных MongoDB

    mongorestore : позволяет записывать данные из дампа, созданного mongodump, в новую или существующую базу данных

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

    mongorestat : представляет счетчики операций с бд

    mongotop : предоставляет способ подсчета времени, затраченного на операции чтения-записи в бд

Создание каталога для БД и запуск MongoDB

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

В ОС Windows по умолчанию MongoDB хранит базы данных по пути C:\data\db , поэтому, если вы используете Windows, вам надо создать соответствующий каталог. В ОС Linux и MacOS каталогом по умолчанию будет /data/db .

Если же возникла необходимость использовать какой-то другой путь к файлам, то его можно передать при запуске MongoDB во флаге --dbpath .

Итак, после создания каталога для хранения БД можно запустить сервер MongoDB. Сервер представляет приложение mongod , которое находится в папке bin. Для этого запустим командную строку (в Windows) или консоль в Linux и там введем соответствующие команды. Для ОС Windows это будет выглядеть так:

Командная строка отобразит нам ряд служебной информации, например, что сервер запускается на localhost на порту 27017.

И после удачного запуска сервера мы сможем производить операции с бд через оболочку mongo . Эта оболочка представляет файл mongo.exe , который располагается в выше рассмотренной папке установки. Запустим этот файл:

Это консольная оболочка для взаимодействия с сервером, через которую можно управлять данными. Второй строкой эта оболочка говорит о подключении к серверу mongod.

Теперь поизведем какие-либо простейшие действия. Введем в mongo последовательно следующие команды и после каждой команды нажмем на Enter:

Use test db.users.save({ name: "Tom" }) db.users.find()

Первая команда use test устанавливает в качестве используемой базу данных test. Даже если такой бд нет, то она создается автоматически. И далее db будет представлять текущую базу данных - то есть базу данных test. После db идет users - это коллекция, в которую затем мы добавляем новый объект. Если в SQL нам надо создавать таблицы заранее, то коллекции MongoDB создает самостоятельно при их отсутствии.

С помощью метода db.users.save() в коллекцию users базы данных test добавляется объект { name: "Tom" } . Описание добавляемого объекта определяется в формате, с которым вы возможно знакомы, если имели дело с форматом JSON. То есть в данном случае у объекта определен один ключ "name", которому сопоставляется значение "Tom". То есть мы добавляем пользователя с именем Tom.

Если объект был успешно добавлен, то консоль выведет результа в виде выражения WriteResult({ "nInserted" : 1 }) .

А третья команда db.users.find() выводит на экран все объекты из бд test.

Из вывода вы можете увидеть, что к начальным значениям объекта было добавлено какое-то непонятно поле ObjectId . Как вы помните, MongoDB в качестве уникальных идентификаторов документа использует поле _id . И в данном случае ObjectId как раз и представляет значение для идентификатора _id.

Установка драйверов MongoDB

Конечно, мы можем работать и через консоль mongo, добавляя и отображая объекты в бд. Но нам также было бы неплохо, если бы mongoDB взаимодействовала бы с нашими приложениями, написанными на PHP, C++, C# и других языках программирования. И для этой цели нам потребуются специальные драйверы.

На офсайте на странице https://docs.mongodb.com/ecosystem/drivers/ можно найти драйвера для таких языков программирования, как PHP, C++, C#, Java, Python, Perl, Ruby, Scala и др.

MongoDB популярная реализация не реляционной базы данных. Если в двух словах то базы данных бывают нескольких типов. Базы реляционного типа, самые популярные, хранят данные в записях таблицы которая состоит из столбцов и строк. MongoDB принадлежит к объектно-ориентированному типу.

Главное отличие этого типа в том что работа и хранение данных осуществляется с помощью объектов, точно так же как это делается в популярных объективно ориентированных языках программирования (C++, Java). В этой инструкции я расскажу как установить MongoDB в Ubuntu.

Так как программа не добавлена в официальный репозиторий Ubuntu, устанавливать будем из собственного репозитория MongoDB. Первым делом нужно интегрировать публичный ключ чтобы система нормально приняла пакет, для этого наберите в терминале:

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

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

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

Обновим базу данных локальных пакетов:

sudo apt-get update

И можно переходить к установке:

sudo apt-get install -y mongodb-org

Запуск MongoDB

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

sudo service mongod start

Все теперь можно запускать консольный клиент Mongo и начинать работать с базой данных.

Логи сервиса можно посмотреть в папке /var/log/mongodb, файлы баз данных - /var/lib/mongodb

MongoDB - это система управления базами данных, которая значительно отличается от MySQL. Основная разница заключается в том, что в MySQL запросы пишутся на языке SQL, а в MongoDB на BSON (бинарный JSON). Это значит, что работа с этой системой может осуществляться в основном через JavaScript выражения.

Также MongoDB включает в себя собственную утилиту для выполнения команд, направленных на работу с БД. В данном цикле статей, мы затронем следующие темы:

  • Установка и запуск MongoDB на Windows
  • Работа с MongoDB через консоль
  • Интеграция MongoDB и PHP

Разработчикам не составляет труда быстро освоить работу с Mongo, если они знакомы с JSON. Этот формат использует выражения, которые состоят из пар “ключ”: “значение”.

Почему MongoDB

Между не табличными СУБД многие пользователи делают выбор в пользу MongoDB. Во-первых, данную систему можно установить практически на всех операционных системах (Windows, OSX, Linux). Во-вторых, проект до сих пор активно развивается и с завидной частотой команда разработчиков публикует обновления. Также мне кажется, что MongoDB предоставляет хорошую документацию для начинающих.

MongoDB лучше подходит в тех случаях, когда таблицы можно представить в виде объектов. По-моему, подобные системы лучше использовать при разработке приложений для мобильный устройств. В этом плане, Mongo предоставляет отдельные библиотеки, как для iOS, так и для Adndroid-а.

Ещё один весомый аргумент в пользу MongoDB: работать с данной системой можно на многих языках программирования, таких как C/C++, Python, PHP, Rubym Perl, .NET и даже Node.js.

MongoDB - это реальное решение, если вы хотите отступить от SQL и попробовать что-то новенькое.

Ключевая терминология

Перед тем как приступить к установке MongoDB, давайте разберёмся с основными понятиями.

Как и MySQL, MongoDB может содержать множество баз данных, только вместо таблиц они содержат “коллекции”.

Коллекция - это что-то типа таблицы, только без колонок. Вместо этого каждая строка содержит наборы записей в виде ключ:значение.

Пример:

Внутри коллекции Users (пользователи) может располагаться запись с ключами firstname (имя) и lastname (фамилия). В то же время, та же коллекция может содержать запись с другими ключами: firstname, lastname, e-mail, birth (день рождения). В этом-то и заключается гибкость MongoDB.

Каждая из этих записей, или строк, называется “документ”, но это не тот документ типа.txt или.html. Данная запись хранится в памяти в JSON формате.

Пример:

Предположим, в нашей коллекции содержится 500 документов. Как уже говорилось раньше, каждый из них может содержать разные поля. Единственное поле, которое должно быть у каждой записи, - это уникальный идентификатор (id), который добавляется автоматически.

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

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

Сперва качаем архив с MongoDB для win32 или win64 .

Распаковываем скачанный архив и помещаем его, к примеру, на диск C, в каталог mongodb. Причём, проследите за тем, чтобы каталог bin был доступен по адресу C:\mongodb\bin .

Далее прописываем путь к папке bin в настройках нашей ОС, для того чтобы к.exe файлам данной папки мы могли достучаться из любого места. Итак, делаем правый клик на Компьютер - Свойства. В списке слева, выбираем “Дополнительные параметры системы”:

В открывшемся окне ищем системную переменную Path. Кликаем по ней дважды. В поле “значение переменной” переходим в самый конец, ставим знак “;” и вписываем путь к каталогу bin:

Отлично! Жмём “ок”... и переходим к следующему шагу.

Для начала, нам необходимо создать каталог, где будут храниться наши БД. К примеру, C:\databases . Создаём эту папку.

Echo logpath=C:\mongodb\log\mongo.log > C:\mongodb\mongod.cfg

Данная команда создаст специальный лог файл и настройки конфигурации для сервиса.

Mongod --config C:\mongodb\mongod.cfg --install

Прежде чем запустить его, давайте отредактируем файл mongod.cfg , вписав туда настройку dbpath - путь к папке с нашими базами данных. В моём случае, после правки файла его содержание должно выглядеть примерно так:

Logpath=C:\mongodb\log\mongo.log dbpath=C:\databases

Возвращаемся к командной строке и запускаем сервис MongoDB:

Net start MongoDB

Для того чтобы проверить, будет ли сервис запускаться автоматически, нажимаем сочетание клавиш “windows+r”, пишем “services.msc”, нажимаем ОК.

В списке сервисов ищем MongoDB и, если его тип запуска не автоматический, то выставляем данный пункт, предварительно сделав правый клик, и выбрав, “свойства”.

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

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

В ответе вы должны увидеть вот такую вот строку:

Итог

Итак, MongoDB установлена и сконфигурирована. В следующей части мы рассмотрим основные команды для работы с данной СУБД.



Статьи по теме