Удалить mongodb centos 7

Обновлено: 03.07.2024

Итак, приступим к установке.
Для начала подключим репозиторий третей версии. В ней добавлено множество фишек и оптимизаций. А самое главное улучшена безопасность, что для нас - основа выбора.
Для подключения создадим/откроем файл:
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, которую мы планируем установить:

Копируем ссылку для загрузки ключа репозитория Mongo

* в данном примере мы скопировали ссылку на ключ для версии 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.

Читайте также: