22.07.2020

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

Описание процесса установки СУБД MongoDB и проверки подключения на виртуальных серверах Ubuntu 18.04.

Что такое MongoDB?

MongoDB — это документо-ориентированная база данных с открытым исходным кодом, которая обеспечивает высокую производительность, высокую доступность и автоматическое масштабирование. MongoDB предоставляется бесплатно по лицензии General Public, а также по коммерческой лицензии от производителя.

Компания-производитель определила MongoDB как:

«MongoDB is a scalable, open source, high performance, document-oriented database.»

Преимущества MongoDB

Установка

Прежде чем начать устанавливать документо-ориентированную СУБД MongoDB, необходимо скачать и импортировать ключ GPG в операционную систему.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

После импорта ключа GPG добавьте репозиторий:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu
xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Обновите локальную базу пакетов и установите MongoDB:

sudo apt-get update
sudo apt-get install mongodb

Запустите СУБД на виртуальном сервере:

sudo systemctl start mongodb

Если необходимо запускать сервис сразу после загрузки сервера, то выполните следующую команду:

sudo systemctl enable mongodb

Проверьте статус запущенного сервиса:

sudo systemctl status mongodb

Если все установлено корректно, то в консоли отобразится подобное сообщение:

● mongodb.service - An object/document-oriented database
   Loaded: loaded (/lib/systemd/system/mongodb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-07-22 14:30:11 MSK; 36min ago
     Docs: man:mongod(1)
 Main PID: 31599 (mongod)
    Tasks: 23 (limit: 507
   CGroup: /system.slice/mongodb.service
           └─31599 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf
Jul 22 14:30:11 Ubuntu1804x64 systemd[1]: Started An object/document-oriented database.

По умолчанию сервис должен прослушивать порт 27017, чтобы это проверить выполните следующую команду:

ss -tunelp | grep 27017

Вы увидите следующий вывод:

tcp    LISTEN   0    128     127.0.0.1:27017        0.0.0.0:*
users:(("mongod",pid=31599,fd=11)) uid:112 ino:72894 sk:1 <->

Проверка подключения

Для тестового соединения с СУБД MongoDB можно выполнить команду:

mongo --eval 'db.runCommand({ connectionStatus: 1 })'

Краткая информация по результату подключения в формате json:

MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.3
{
        "authInfo" :
                "authenticatedUsers" : [ ],
                "authenticatedUserRoles" : [ ]
        },
        "ok" : 1
 }

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

mongo

Ниже приведены простые примеры по работе с mongo.

Создание базы данных:

> use cloud_db
switched to db cloud_db

Показать текущую БД:

> db
cloud_db

Вставить данные:

> db.files.insert({"name":"serverspace"})
WriteResult({ "nInserted" : 1 })

Вывести все БД на сервере:

> show dbs
admin    0.000GB
config   0.000GB
local    0.000GB
сloud_db  0.000GB

Удалить текущую БД:

> db.dropDatabase()
{ "dropped" : "cloud_db", "ok" : 1 }

Команда выхода:

> exit
bye