Запуск mongodb в windows
Для установки 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 устанавливает в качестве используемой базу данных 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 на сервер с 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
Виртуальный сервер на базе Windows
- Лицензия включена в стоимость
- Тестирование 3-5 дней
- Безлимитный трафик
Актуальные релизы MongoDB можно скачать на специальной странице загрузок. Важно скачать версию базы данных, которая подходит для вашей операционной системы.
После этого в проводнике Windows нужно найти установочный .msi-файл MongoDB — обычно он располагается в папке «Загрузки». С помощью двойного клика на файле запускается интерактивная установка — специальный мастер проведет пользователя по шагам от ее начала до конца.
Мы установим базу данных в папку C:\mongodb, но можно выбрать и другую директорию — для этого в процессе установки на шаге выбора папки нужно выбрать меню Custom, а затем написать нужный путь — например, D:\test\mongodb.
Билд MongoDB содержит все необходимое для работы базы данных и не имеет дополнительных зависимостей.
Запуск MondoDB
Важный момент: при работе в публичных сетях, файл mongod.exe можно делать видимым только в безопасном режиме (“Secure Mode”), который активируется опцией auth.
Для работы MongoDB требуется директория данных, где будет храниться вся нужная информация. Путь такой по умолчанию — \data\db. Создать ее можно с помощью следующей команды, набранной в командной строке Windows:
Выбрать другую директорию можно, запустив файл 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.
Затем, чтобы начать работать с базой, нужно запустить исполняемый файл. Сделать это можно, к примеру, из командной строки:
О том, что запуск прошел успешно, будет говорить сообщение «waiting for connections» в консоли командной строки.
В зависимости от установленного в операционной системе уровня безопасности, ОС может показать всплывающее окно с предупреждением о том, что некоторые сетевые функции C:\mongodb\bin\mongod.exe заблокированы. Здесь нужно выбрать Private Networks, such as my home or work network и кликнуть Allow access.
Чтобы подключиться к базе через 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 можно командой:
Остановить службу можно так:
Кроме того, можно создать службу MongoDB, которая будет автоматически запускаться при старте Windows. Примеры ниже предполагают, что MongoDB была установлена с помощью .msi-установщика, а ее директория по умолчанию — C:\mongodb\ — если путь отличается, то команды ниже нужно будет соответствующим образом изменить.
Как и ранее, необходимо запустить командную строку с правами администратора. Затем создаются директории для базы данных и лог-файлов:
mkdir c:\data\db
mkdir c:\data\log
Затем также создается конфигурационный файл, в котором представлены значения systemLog.path и storage.dbPath:
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Остановить ее можно так:
Чтобы удалить службу, сначала нужно ее остановить, а затем запустить такую команду:
MongoDB для начинающих: знакомство и установка (часть 1/3)
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 . Создаём эту папку.
Далее нам необходимо зарегистрировать MongoDB как сервис, чтобы он запускался автоматически при включении компьютера. Для этого вызываем командную строку и пишем:
Данная команда создаст специальный лог файл и настройки конфигурации для сервиса.
Далее создаём сервис:
Прежде чем запустить его, давайте отредактируем файл mongod.cfg , вписав туда настройку dbpath — путь к папке с нашими базами данных. В моём случае, после правки файла его содержание должно выглядеть примерно так:
Возвращаемся к командной строке и запускаем сервис MongoDB:
Для того чтобы проверить, будет ли сервис запускаться автоматически, нажимаем сочетание клавиш “windows+r”, пишем “services.msc”, нажимаем ОК.
В списке сервисов ищем MongoDB и, если его тип запуска не автоматический, то выставляем данный пункт, предварительно сделав правый клик, и выбрав, “свойства”.
Теперь, когда мы создали сервис, который будет запускать MongoDB при включении компьютера, нам не нужно будет делать это вручную.
Для проверки работы MongoDB открываем командную строку и пишем:
Нажимаем Enter. Далее можем работать с данной СУБД. К примеру, посмотрим, какие сейчас у нас есть базы:
В ответе вы должны увидеть вот такую вот строку:
Итак, MongoDB установлена и сконфигурирована. В следующей части мы рассмотрим основные команды для работы с данной СУБД.
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://www.hongkiat.com/blog/webdev-with-mongodb-part1/
Перевел: Станислав Протасевич
Урок создан: 3 Апреля 2013
Просмотров: 106884
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.