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

В данном руководстве будут рассмотрены шаги по установке базы данных MongoDB на серверы под управлением операционной системы Windows (в нашем случае Windows Server 2008 R2 x64).

Что это такое

MongoDB — это кроссплатформенная документно-ориентированная база данных. Она относится к базам типа NoSQL. Вместо традиционной табличной реляционной структуры базы в ней используются JSON-подобные документы.

Системные требования

Начиная с версии 2.2 MongoDB не поддерживает ОС Windows XP. Чтобы база данных работала, необходимо использовать более «свежую» версию операционной системы — например, Windows Vista, Server 2008 и т.п. Файл-установщик базы данных (.msi) содержит все необходимые зависимости, поэтому его можно использовать не только для первоначальной установки MongoDB, но и для обновления ее версии.

Установка MongoDB

Прежде всего, необходимо определиться с нужной версией базы данных. 64-битные версии MongoDB работают только на Windows Server 2008 R2, Windows 7 64-bit и более новых версиях ОС. Этот билд использует недавние улучшения в Windows Platform и не может работать на устаревших версиях ОС.

В свою очередь, MongoDB для 32-битных систем работает только на 32-битных ОС, начиная с Windows Vista и более поздних. Данная версия базы данных предназначены для работы на старых системах и решения задач по тестированию и разработке продуктов. Размер такой базы данных ограничен 2 гигабайтами.

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

wmic os get caption
wmic os get osarchitecture

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

После этого в проводнике Windows нужно найти установочный .msi-файл MongoDB — обычно он располагается в папке «Загрузки». С помощью двойного клика на файле запускается интерактивная установка — специальный мастер проведет пользователя по шагам от ее начала до конца.

Мы установим базу данных в папку C:\mongodb, но можно выбрать и другую директорию — для этого в процессе установки на шаге выбора папки нужно выбрать меню Custom, а затем написать нужный путь — например, D:\test\mongodb.

Билд MongoDB содержит все необходимое для работы базы данных и не имеет дополнительных зависимостей.

Запуск MondoDB

Важный момент: при работе в публичных сетях, файл mongod.exe можно делать видимым только в безопасном режиме (“Secure Mode”), который активируется опцией auth.

Для работы MongoDB требуется директория данных, где будет храниться вся нужная информация. Путь такой по умолчанию — \data\db. Создать ее можно с помощью следующей команды, набранной в командной строке Windows:

md \data\db

Выбрать другую директорию можно, запустив файл mongod.exe с опцией –dbpath:

C:\mongodb\bin\mongod.exe --dbpath d:\test\mongodb\data

Если в названии директории есть пробелы, то весь путь нужно заключить в двойные кавычки, вот так:

C:\mongodb\bin\mongod.exe --dbpath "d:\test\mongo db data"

Кроме того, прописать путь директории для хранения данных можно и с помощью конфигурационного файла — для этого, в нем нужно изменить значение переменной dbpath.

Затем, чтобы начать работать с базой, нужно запустить исполняемый файл. Сделать это можно, к примеру, из командной строки:

C:\mongodb\bin\mongod.exe

О том, что запуск прошел успешно, будет говорить сообщение "waiting for connections" в консоли командной строки.

В зависимости от установленного в операционной системе уровня безопасности, ОС может показать всплывающее окно с предупреждением о том, что некоторые сетевые функции C:\mongodb\bin\mongod.exe заблокированы. Здесь нужно выбрать Private Networks, such as my home or work network и кликнуть Allow access.

Чтобы подключиться к базе через mongo.exe, нужно вбить в новом окне командной строки следующую команду:

C:\mongodb\bin\mongo.exe

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

Для того, чтобы остановить MongoDB, нужно нажать Ctrl + C в окне терминала, где запущен экземпляр mongod.

Настройка службы Windows для MongoDB

Нужно запустить командную строку с привилегиями администратора Для этого нужно нажать кнопку Win, вбить в окно поиска cmd.exe и нажать Ctrl + Shift +Enter. Последующие шаги нужно выполнить именно в запущенном таким образом окне.

Затем следует создать директории для базы данных и лог-файлов:

mkdir c:\data\db
mkdir c:\data\log

Следом создается конфигурационный файл, в котором должна быть установлена переменная systemLog.path, а также может содержаться дополнительная информация. К примеру, можно создать файл C:\mongodb\mongod.cfg, в котором представлены значения systemLog.path и storage.dbPath:

systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db

Установить службу можно, запустив исполняемый файл с опцией –install и опцией –config для указания ранее созданного конфигурационного файла (примечание: здесь и далее команды должны выполняться в командной строке, запущенной с правами администратора).

"C:\mongodb\bin\mongod.exe" --config "C:\mongodb\mongod.cfg" –install

Если нужно использовать директорию dbpath, отличную от установленной по умолчанию, то путь к ней нужно указать в конфигурационном файле (например, C:\mongodb\mongod.cfg), либо в командной строке с помощью опции –dbpath.

При необходимости, можно установить службы для нескольких экземпляров mongod.exe или mongos.exe. Каждую службу нужно устанавливать с уникальными параметрами --serviceName и –serviceDisplayName. Однако важно понимать, что использование нескольких экземпляров возможно только при наличии значительных системных ресурсов, и запускаемые приложения этого требуют.

Запустить службу MongoDB можно командой:

net start MongoDB

Остановить службу можно так:

net stop MongoDB

А удалить ее так:

"C:\mongodb\bin\mongod.exe" –remove

Кроме того, можно создать службу MongoDB, которая будет автоматически запускаться при старте Windows. Примеры ниже предполагают, что MongoDB была установлена с помощью .msi-установщика, а ее директория по умолчанию — C:\mongodb\ — если путь отличается, то команды ниже нужно будет соответствующим образом изменить.

Как и ранее, необходимо запустить командную строку с правами администратора. Затем создаются директории для базы данных и лог-файлов:

mkdir c:\data\db
mkdir c:\data\log

Затем также создается конфигурационный файл, в котором представлены значения systemLog.path и storage.dbPath:

systemLog:

destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db

Далее непосредственно создается служба MongoDB:

sc.exe create MongoDB binPath= "C:\mongodb\bin\mongod.exe --service --config=\"C:\mongodb\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

Важно вставлять пробел между знаком = и конфигурационными значениями (вот так ”binPath = “) и обратный слэш “\” перед закрывающими двойными кавычками.

В случае успешного создания службы, появится лог-сообщение следующего содержания:

[SC] CreateService SUCCESS

Запускаем службу:

net start MongoDB

Остановить ее можно так:

net stop MongoDB

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

sc.exe delete MongoDB

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