Удалить mongodb centos 7
Итак, приступим к установке.
Для начала подключим репозиторий третей версии. В ней добавлено множество фишек и оптимизаций. А самое главное улучшена безопасность, что для нас - основа выбора.
Для подключения создадим/откроем файл:
nano / etc / yum.repos.d / mongodb-org- 3.0 .repo
И внесём в него следующее содержание:
Обращаю Ваше внимание, что версии для 32-битных систем нет!
Далее, сама установка:
Сразу же пропишем её в автозагрузку:
chkconfig mongod on
И запустим:
service mongod start
Не забываем, что MongoDB по умолчанию не включает авторизацию пользователей. Если Вы ещё при этом откроете её наружу - будет очень плохо ;-)
Поэтому, первым делом, мы создадим root пользователя и включим авторизацию по паролю.
Заходим в консоль управления БД:
mongo
Следуя официальной документации, создадим базу admin, в которой создадим root пользователя:
P.S. Кстати, по желанию, можно сразу добавить root-пользователю права для создания резервных копий баз данных. Команда ниже в списке.
Далее, выходим из консоли с помощью команды "exit" или сочетания клавиш "ctrl+d".
Проверяем, что мы записали пароль и всё работаем :-)
mongo -u 'root' admin -p
Да, указать базу, к которой мы подключаемся - обязательно. По ней идёт проверка пользователя.
Так, теперь нам нужно включить механизм аутентификации. Для этого открываем файл конфигурации:
nano / etc / mongod.conf
И раскомментируем строку:
auth = true
В версии старше 3.0.7 необходимо раскомментировать строку security и дописать ниже строку, по примеру, соблюдая пробелы:
Сохраняем, выходим, перезапускаем mongodb:
service mongod restart
Кстати, если Вам всё же надо открыть её наружу, в том же файле есть параметр "bind_ip=", в котором надо изменить "127.0.0.1" на Ваш внешний IP. И перезапустить mongodb. Не забудьте проверить, что у Вас есть соответствующее правило в iptables! Или он выключен, как у не правильных пацанов :-)
Проверяем?
mongo
Пустило? Так и должно быть :-) Дело в том, что больше Вы ничего сделать не сможете. Ни посмотреть, ни уж тем более создать.
Ну, вот и всё. Ниже список полезных команд для начала работы.
В MongoDB данные хранятся в гибких, JSON-подобных документах, где поля могут варьироваться от документа к документу. Это не требует предопределенной схемы, и структура данных может изменяться со временем.
Прежде чем продолжить этот урок, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка MongoDB
Выполните следующие действия, чтобы установить последнюю стабильную версию MongoDB на вашем сервере CentOS:
Включение хранилища MongoDB
Чтобы добавить репозиторий MongoDB в вашу систему, откройте текстовый редактор и создайте новый файл конфигурации репозитория YUM с именем mongodb-org.repo внутри /etc/yum.repos.d/ каталога:
Если вы хотите установить более старую версию MongoDB, замените каждый экземпляр 4.0 предпочитаемой версией.
Теперь, когда репозиторий включен, вы можете установить mongodb-org метапакет с помощью утилиты yum:
Во время установки yum предложит вам импортировать ключ MongoDB GPG. Введите y и нажмите Enter .
Следующие пакеты будут установлены в вашей системе как часть mongodb-org пакета:
- mongodb-org-server - mongod Демон и соответствующие сценарии инициализации и конфигурации.
- mongodb-org-mongos - mongos Демон.
- mongodb-org-shell - Оболочка mongo, интерактивный интерфейс JavaScript для MongoDB, используемый для выполнения административных задач через командную строку.
- mongodb-org-tools - Содержит несколько инструментов MongoDB для импорта и экспорта данных, статистику, а также другие утилиты.
После завершения установки запустите демон MongoDB и включите его при загрузке, набрав:
Проверка установки MongoDB
Для проверки установки мы подключимся к серверу базы данных MongoDB с помощью mongo инструмента и распечатаем версию сервера:
Когда вы окажетесь внутри оболочки MongoDB, введите следующую команду, которая отобразит версию MongoDB:
Вывод будет выглядеть следующим образом:
Настройка MongoDB
Вы можете настроить свой экземпляр MongoDB, отредактировав /etc/mongod.conf файл конфигурации, который написан на YAML .
Настройки конфигурации по умолчанию в большинстве случаев достаточны. Однако для производственных сред мы рекомендуем раскомментировать раздел безопасности и включить авторизацию, как показано ниже:
authorization - опция позволяет настроить управление доступом (RBAC) , который регулирует доступ пользователей к ресурсам и операциям с базами данных. Если эта опция отключена, каждый пользователь будет иметь доступ к любой базе данных и сможет выполнить любое действие.
После внесения изменений в файл конфигурации MongoDB перезапустите службу mongod:
Для получения дополнительной информации о параметрах конфигурации, доступных в MongoDB 4.0, посетите страницу документации по параметрам файла конфигурации .
Создание административного пользователя MongoDB
Если вы включили аутентификацию MongoDB, создайте одного административного пользователя MongoDB, который вы будете использовать для доступа и управления вашим экземпляром MongoDB.
Сначала получите доступ к оболочке Монго с помощью:
Как только вы окажетесь внутри оболочки MongoDB, введите следующую команду для подключения к admin базе данных:
Создайте нового пользователя с именем mongoAdmin с userAdminAnyDatabase ролью:
Вы можете назвать административного пользователя MongoDB как хотите.
Выход из оболочки MongoDB с помощью:
Чтобы проверить изменения, войдите в оболочку mongo, используя ранее созданного пользователя-администратора:
Теперь распечатайте пользователей с:
Вы также можете попытаться получить доступ к оболочке Монго без каких-либо аргументов (просто введите mongo ) и посмотрите, можете ли вы перечислить пользователей, используя те же команды, что и выше.
Вывод
Вы узнали, как установить и настроить MongoDB 4.0 на вашем сервере CentOS 7.
Вы можете обратиться к Руководству MongoDB 4.0 для получения дополнительной информации по этой теме.
Мне нужно полностью удалить mongodb из моей системы (Ubuntu 11.10) и установить версию 2.0.5.
В настоящее время, когда я бегу:
Я получаю следующую ошибку:
Версия оболочки MongoDB: 2.0.1
подключение к: дБ
Ср 6 июня 13:05:03 Ошибка: не удалось подключиться к серверу 127.0.0.1 shell/mongo.js:84 исключение: ошибка подключения
3 ответа
Существует два набора пакетов для MongoDB; стандартные пакеты Ubuntu и набор, опубликованный самим 10gen. Стандартные пакеты устарели, особенно для более старых выпусков Ubuntu, поэтому, вероятно, стоит настроить себя на установку из репозиториев 10gen.
Деинсталляция существующих пакетов MongoDB
Поскольку я не на 100% установлен, что вы установили, я предлагаю следующее, чтобы убедиться, что все удалено:
Некоторые из этих команд могут не работать, в зависимости от того, какие пакеты вы на самом деле установили, но это нормально.
Это также должно удалить ваш конфиг из /etc/mongodb.conf , Если вы хотите полностью очистить, вы также можете удалить каталог данных /var/lib/mongodb До тех пор, пока вы сделали резервную копию или не хотите больше.
Если вы установили сборку из исходного кода или с использованием бинарных дистрибутивов 10gen, то вам нужно будет вручную удалить и очистить, где бы вы ни размещали бинарные файлы, файлы конфигурации и файлы данных.
Установка пакетов 10gen MongoDB
Следуйте инструкциям 10gen для добавления их хранилища:
редактировать /etc/apt/sources.list , удалите все строки, которые вы уже добавили для Mongo, и добавьте следующую единственную строку (поскольку 11.10 использует upstart) в конце:
Обратите внимание, что если вы добавите этот репозиторий с помощью Центра программного обеспечения, он автоматически добавит запись deb-src, что приведет к поломке apt-get. Поэтому вам нужно будет отредактировать список источников вручную, чтобы добавить только строку выше.
Затем для установки запустите:
Проверка вашей установки
Установка пакетов должна автоматически запустить сервер MongoDB. Таким образом, вы сможете запустить клиент из командной строки:
который должен успешно подключиться к тестовой базе данных. Вы можете выйти, набрав exit ,
В данной инструкции мы рассмотрим процесс установки MongoDB на Linux Ubuntu (Debian). Также будут приведены примеры настройки подключения по сети, защита соединения с помощью шифрования и аутентификации.
Установка
На странице MongoDB Community Downloads смотрим стабильные версии программного продукта. На момент обновления инструкции это была 4.4.
Обратите внимание, установка MongoDB возможна на большое число популярных операционных систем — Amazon, Debian, Ubuntu, macOS, CentOS, Red Hat, Windows и другие.
Переходим на страницу загрузки ключей для проверки подлинности репозитория. Копируем ссылку для версии MongoDB, которую мы планируем установить:
* в данном примере мы скопировали ссылку на ключ для версии 4.4. Обратите внимание, что также есть возможность загрузки ключей для более свежих и менее стабильных версий.
С помощью скопированной ссылки скачиваем и устанавливаем ключ:
Создаем файл для настройки репозитория Ubuntu:
* focal — название релиза Ubuntu. В данном примере, версия 20.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.
Устанавливаем ключ для репозитория:
* как в случае с сервером, focal — название релиза Ubuntu. В данном примере, версия 20.04. Другие варианты: bionic: 18.04, xenial: 16.04.
Обновляем список пакетов:
Устанавливаем клиентскую часть:
apt-get install mongodb-org-shell
Теперь можно подключиться к нашему серверу:
* в данном примере мы подключаемся к серверу MongoDB 192.168.1.15.
Аутентификация
По умолчанию, мы можем подключиться к СУБД без авторизации. Если нам необходимо повысить безопасность работы с базой, можно требовать ввода логина и пароля.
Заходим в командную оболочку Mongo:
Подключаемся к базе admin:
Создаем пользователя, под которым будем авторизовываться:
* в данном примере мы создадим пользователя с правами доступа на все базы. Логин root, пароль будет запрошен после ввода.
Придумываем и вводим пароль
После создания пользователя мы должны увидеть, примерно, следующую картину:
Выходим из командной оболочки:
Открываем конфигурационный файл:
Находим директиву security и задаем параметр authorization:
security:
authorization: enabled
Перезапускаем сервис mongod:
systemctl restart mongod
Теперь пробуем подключиться к mongo. Мы можем авторизоваться несколькими способами.
а) Авторизация при подключении:
mongo --authenticationDatabase "admin" -u "root" -p
* в данном примере мы подключимся к базе под пользователем root. Пароль будет запрошен системой после ввода команды.
б) Авторизация после подключения:
Создаем каталог, в котором разместим наши сертификаты:
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 install mongodb
Для каждого возможного варианта использования PHP необходимо создать отдельный конфигурационной файл. В данном примере, под php 7.4 для cli, php-fpm, apache.
Читайте также: