Как узнать версия mongodb linux

Установка и подключение к MongoDB

В данной инструкции мы рассмотрим процесс установки MongoDB на Linux Ubuntu (Debian). Также будут приведены примеры настройки подключения по сети, защита соединения с помощью шифрования и аутентификации.

Установка

На странице MongoDB Community Downloads смотрим стабильные версии программного продукта. На момент обновления инструкции это была 4.4.

Обратите внимание, установка MongoDB возможна на большое число популярных операционных систем — Amazon, Debian, Ubuntu, macOS, CentOS, Red Hat, Windows и другие.

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

* в данном примере мы скопировали ссылку на ключ для версии 4.4. Обратите внимание, что также есть возможность загрузки ключей для более свежих и менее стабильных версий.

С помощью скопированной ссылки скачиваем и устанавливаем ключ:

wget -qO — https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add —

Создаем файл для настройки репозитория Ubuntu:

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

* focal — название релиза Ubuntu. В данном примере, версия 20.04. На данный момент возможны варианты:

  • focal: 20.04.
  • bionic: 18.04.
  • xenial: 16.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.

Читайте также:  Roverbook neo установка windows

Устанавливаем ключ для репозитория:

wget -qO — https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add —

deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse

* как в случае с сервером, focal — название релиза Ubuntu. В данном примере, версия 20.04. Другие варианты: bionic: 18.04, xenial: 16.04.

Обновляем список пакетов:

Устанавливаем клиентскую часть:

apt-get install mongodb-org-shell

Теперь можно подключиться к нашему серверу:

* в данном примере мы подключаемся к серверу MongoDB 192.168.1.15.

Также мы можем использовать MongoDB Compass — это приложение под Windows, Linux и macOS для работы с базой Mongo в графическом интерфейсе. Скачать его можно на странице официального сайта.

Аутентификация

По умолчанию, мы можем подключиться к СУБД без авторизации. Если нам необходимо повысить безопасность работы с базой, можно требовать ввода логина и пароля.

Заходим в командную оболочку Mongo:

Подключаемся к базе admin:

Создаем пользователя, под которым будем авторизовываться:

* в данном примере мы создадим пользователя с правами доступа на все базы. Логин root, пароль будет запрошен после ввода.

Придумываем и вводим пароль

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

Successfully added user: <
«user» : «root»,
«roles» : [
<
«role» : «userAdminAnyDatabase»,
«db» : «admin»
>,
«readWriteAnyDatabase»
]
>

Выходим из командной оболочки:

Открываем конфигурационный файл:

Находим директиву security и задаем параметр authorization:

security:
authorization: enabled

Перезапускаем сервис mongod:

systemctl restart mongod

Теперь пробуем подключиться к mongo. Мы можем авторизоваться несколькими способами.

а) Авторизация при подключении:

mongo —authenticationDatabase «admin» -u «root» -p

* в данном примере мы подключимся к базе под пользователем root. Пароль будет запрошен системой после ввода команды.

б) Авторизация после подключения:

Теперь усилим безопасность, зашифровав передачу данных. Для этого нам понадобиться сертификат. В нашем примере, мы будем использовать самоподписанный сертификат, но в продуктивной среде, лучше его купить или запросить у Let’s Encrypt.

Создаем каталог, в котором разместим наши сертификаты:

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.

Читайте также:  Служб интеграции hyper v для linux

Для возможности работы PHP с Mongo необходимо установить соответствующее расширение. Выполняем пошагово следующие действия:

apt-get install php-pear php-dev

pecl channel-update pecl.php.net

pecl install mongodb

Для каждого возможного варианта использования PHP необходимо создать отдельный конфигурационной файл. В данном примере, под php 7.4 для cli, php-fpm, apache.

Источник

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

MongoDB — популярная реализация нереляционной базы данных. Если в двух словах, то базы данных бывают нескольких типов. Базы реляционного типа — самые популярные, хранят данные в записях таблицы, которая состоит из столбцов и строк. MongoDB принадлежит к объектно-ориентированному типу. Главное отличие этого типа в том, что работа и хранение данных осуществляется с помощью объектов, точно так же, как это делается в популярных объективно-ориентированных языках программирования (C++, Java).

Реляционные базы данных обычно используются для данных, которым важна сохранность и максимальная надёжность. Объектно-ориентированные базы данных более быстрые, но менее надёжные и часто используются для хранения различных событий и статистических данных. В этой инструкции я расскажу, как выполняется установка MongoDB Ubuntu 20.04.

Установка MongoDB

1. Установка из репозитория дистрибутива

В современных дистрибутивах утилита добавлена в официальный репозиторий современных версий Ubuntu. Для её установки достаточно выполнить:

sudo apt install mongodb-server

Затем можно посмотреть состояние службы:

sudo systemctl status mongod

И добавить её в автозагрузку, если это необходимо:

sudo systemctl enable mongod

Работать с базой данных можно через клиент командной строки Mongo. Например, давайте посмотрим версию базы данных:

Если вы собираетесь удалить MongoDB, то обратите внимание, что эта база данных может уже использоваться каким-либо приложением, поэтому сначала убедитесь, что, удалив её, вы ничего не сломаете.

1. Установка из репозитория разработчиков

Если вы хотите получить самую свежую версию программы, то необходимо устанавливать её из репозитория разработчиков MongoDB. Прежде чем устанавливать эту версию, надо удалить версию из официальных репозиториев, если она была установлена:

sudo apt purge mongodb*

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

wget -qO — https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add —

С помощью следующей команды создаём список файлов пакета:

echo «deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse» | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list

Обновим базу данных локальных пакетов:

sudo apt update

И можно переходить к установке:

sudo apt install -y mongodb-org

Далее надо запустить сервис mongod и добавить его в автозагрузку:

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod

Далее смотрим версию:

Если что-то не работает, логи сервиса можно посмотреть в папке /var/log/mongodb, файлы баз данных — /var/lib/mongodb.

Настройка MongoDB

По умолчанию база данных не защищена паролем и подключится к ней может кто угодно. Чтобы этого избежать, надо защитить базу данных. Для этого нужно создать базу данных и пользователя для неё, который сможет управлять всеми базами данных. Войдите в интерфейс управления Mongo:

Переключитесь в базу данных admin и создайте нового пользователя:

Читайте также:  Не дает восстановить windows 10

Здесь мы задаём имя пользователя Admin и разрешаем ему доступ ко всем базам данных. После нажатия Enter программа запросит пароль для нового пользователя. Введите пароль и всё будет готово.

Далее откройте конфигурационный файл /etc/mongod.conf и добавьте туда такие строчки:

sudo vi /etc/mongod.conf

security:
authorization: enabled

Затем перезапустите MongoDB:

sudo systemctl restart mongod

После этого вы все ещё сможете подключится к MongoDB с помощью клиента Mongo, но чтобы выполнить какие-либо действия, вам понадобится авторизация. Например, вы не сможете посмотреть список баз данных, создать пользователя или получить данные из базы. Например, команда show databases вернёт пустой результат:

Для подключения с авторизацией используйте команду:

$ mongo —authenticationDatabase имя_базы_данных -u имя_пользователя -p

mongo —authenticationDatabase «admin» -u «Admin» -p

Удаление MongoDB

Чтобы удалить MongoDB с компьютера, наберите:

sudo apt purge mongodb-org*

Или если вы устанавливали программу из официальных репозиториев, используйте:

sudo apt purge mongodb*

Теперь вы знаете, как установить MongoDB Ubuntu 18.04 на ваш компьютер, а также как проверить, какая версия у вас установлена, и работает ли вообще эта база данных.

Источник

Какая версия MongoDB установлена на Ubuntu

Привет, я немного оболочка n00b.

может ли кто-нибудь сказать мне, как я проверю версию MongoDB, которая установлена на моей машине Linux Ubuntu?

Я вижу, что моя версия оболочки MongoDB: 1.2.2 поэтому я уверен, что сам MongoDB тоже устарел. И кто-нибудь знает о каких-либо документах «как обновить MongoDB»? Я нахожу mongodb.org чтобы немного запутаться.

пожалуйста, и спасибо.

Ok, если я использую db.версия () внутри оболочки mongo говорит 1.2.2

Если я $ mongod — version я получаю это:

Так почему же он не обновляется? Apt-get указывает на неправильное РЕПО / источник?

5 ответов

чтобы быть полным, краткое введение для «shell noobs»:

прежде всего, запустите свою оболочку — вы можете найти ее внутри общих сред рабочего стола под названием «Терминал» или «оболочка» где-то в меню приложения для настольных компьютеров.

вы также можете попробовать использовать комбинацию клавиш CTRL+F2, а затем одну из этих команд (в зависимости от используемой среды рабочего стола) и клавишу ENTER:

если все вышеперечисленное не удается, попробуйте использовать xterm — в большинстве случаев это сработает.

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

после этого просто запустите mongod С —version флаг:

он показывает вам тогда что-то вроде

чтобы обновить его, просто выполните

ответ: прочитайте инструкцию #dua

Ok магия была в этой строке, которую я, по-видимому, пропустил при установке:

важно: убедитесь, что вы изменили 2.4.6 на последнюю версию (или все, что вы хотите установить). Найти номер последней версии здесь http://www.mongodb.org/downloads

когда вы вошли в оболочку mongo с помощью команды» mongo», на этот раз только вы заметите

также вы можете попробовать команду, в оболочке mongo , db.version()

в терминале просто введите стандартную команду:

Источник

Оцените статью