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

В этом руководстве мы рассмотрим процесс установки MongoDB на Debian 7 из .deb-пакетов. Несмотря на то, что в ОС Debian по умолчанию встроены пакеты MongoDB, установка официальных пакетов от разработчиков базы данных является более предпочтительной, поскольку они являются более актуальными.

Что это такое

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

Существуют лишь пакеты для 64-битной версии Debian 7 “Wheezy”, они могут работать и с другими версиями ОС, но корректность функционирования в таком случае не гарантируется разработчиками.

Установка MongoDB

Прежде всего для использования MongoDB в Debian, необходимо импортировать публичный ключ безопасности базы данных. Пакетные менеджеры Debian (то есть dpkg или apt) требуют, чтобы разработчики подписывали свои продукты GPG-ключами. Для его импорта, нужно выполнить в консоли сервера следующую команду:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

Затем следует создать документ со списками:

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list

Потом следует обновить локальную базу пакетов:

sudo apt-get update

Возможно использование как самой свежей версией базы, так и ее конкретного релиза. Получить самый свежий релиз можно, воспользовавшись следующей командой:

sudo apt-get install -y mongodb-org

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

sudo apt-get install -y mongodb-org=3.0.7 mongodb-org-server=3.0.7 mongodb-org-shell=3.0.7 mongodb-org-mongos=3.0.7 mongodb-org-tools=3.0.7

По умолчанию, команда apt-get будет обновлять все пакеты, по мере выхода новых стабильных версий. Чтобы предотвратить такие обновления, можно «закрепить» версии пакетов. Чтобв это сделать, нужно воспользоваться последовательностью следующих команд:

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

Запуск

Экземпляр базы по умолчанию хранит файлы данных в директории /var/lib/mongodb и лог-файлы в /var/log/mongodb, а запуск происходит с помощью учетной записи mongodb. Чтобы указать другие директории для лог-файлов и файлов данных, нужно внести изменения в конфигурационный файл /etc/mongod.conf. Более подробная информация на эту тему представлена в руководствах на сайте разработчиках MongoDB (на английском языке — systemLog.path и storage.dbPath).

В случае изменения пользовательской учетной записи, в рамках которой запускает процесс MongoDB, необходимо изменить права доступа к директориям /var/lib/mongodb и /var/log/mongodb, чтобы у новой пользовательской учетной записи был туда доступ.

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

sudo service mongod start

Для проверки успешности старта, нужно открыть лог-файл в /var/log/mongodb/mongod.log и найти в нем такую строку:

[initandlisten] waiting for connections on port <port>
где <port> — порт, сконфигурированный в /etc/mongod.conf. По умолчанию это порт 27017.

Остановить процесс mongod можно так:

sudo service mongod stop

Перезапуск осуществляется командой:

sudo service mongod restart

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

Если вы захотите удалить MongoDB Debian, то потребуется удалить приложения, конфигурационные файлы и все директории, содержащие файлы и логи. Важно понимать, что процесс удаления необратим, и все данные, хранившиеся в базе будут потеряны — если в ней хранится какая-либо важная информация, стоит предварительно провести процесс резервного копирования.

Прежде всего нужно остановить работу базы данных:

sudo service mongod stop

Далее удаляются файлы базы:

sudo apt-get purge mongodb-org*

А следом — директории с данными и лог-файлы:

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

Средняя оценка: 5,0, всего оценок: 2