Администрирование Linux
  • Введение в дисциплину
    • Функции, права и ответственность системного администратор
    • Сетевые операционные системы
    • Знакомство с Linux
    • Дистрибутивы Linux
    • Графические оболочки Linux
    • Важно! Основы работы с ВМ!
    • Установка Linux
    • Запуск и останов системы
    • Общие сведения о работе в командной оболочке Linux
      • Документация по ОС Linux
      • Сокращения команд
      • Работа с потоком данных и его фильтрация
      • Выполнение команд. Простейшие команды для работы с каталогами
    • Требования к практическим работам
      • Правила оформления и сдачи отчётов
    • Контрольная работа
    • Практическая работа №1
  • Базовые задачи
    • Работа с пользователями в Linux
      • Редактирование файла Sudoers
      • /etc/passwd и /etc/shadow
      • Права доступа
      • Списки контроля доступа и расширенные атрибуты
      • Практическая работа №2. Управление учетными записями
      • Практическая работа №3. Управление правами доступа
    • Установка программ (утилит) пакетным менеджером
      • Установка программ (утилит) пакетным менеджером. Установка из архивов (тарболов)
      • Troubeshooting пакетных менеджеров
      • Практическая работа №4. Установка программ в Linux
    • Процессы и потребление ресурсов сервера
      • Процессы и потребление ресурсов сервера. Практика
      • Мониторинг процессов и ресурсов в ОС Linux
      • Система инициализации SystemD
      • Практическая работа №5
    • Контрольная работа
  • Управление файлами
    • Структура файловой системы Linux
      • Файлы-устройства
      • Типы файлов (MIME)
      • Сведения об именах файлов
    • Файловые менеджеры Linux
    • Работа с файлами и каталогами в Linux
      • Поиск информации в ОС Linux (find,grep,locate,wc, cut ...)
    • Архивирование файлов в Linux
    • Ссылки. Указатели на файл в ОС Linux
    • Создание раздела диска в Linux
      • Монтирование и разметка диска. Просмотр размера диска
    • Запись cd/dvd дисков в Linux
    • Практическая работа №6. Работа с файлами в UNIX
    • Контрольная работа
  • Сетевые настройки Linux
    • Сетевые настройки Linux
      • Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Astra Linux, Ubuntu, Kubuntu)
      • Вариант № 2. RedHat-based дистрибутивы ( RedOS, OpenSuse, CentOS, Fedora)
    • Настройка параметров прокси
    • Поиск и устранение неисправностей с сетевыми параметрами
      • 11 примеров использования netstat
      • Использование команд ifup, ifdown и ifquery на Linux
    • Практическая работа №7. Управление сетью
    • Iptables, firewalld, ufw, nftables
    • Расчет сети с помощью ipcalc
    • Контрольная работа
  • Сервисы Linux
    • Получение удаленного доступа к сервер
      • Про SSH port forwarding в Linux
    • Протокол DHCP
      • Настройка DHCP сервера (isc-dhcp-server)
    • Протокол DNS
      • Настройка DNS сервера (BIND9)
    • Протокол NTP
      • Настройка NTP сервера
    • Протокол FTP
      • Настройка FTP-сервера (vsftpd)
    • Протокол samba
      • Настройка Samba
    • Сетевая файловая система NFS
      • Настройка NFS
    • Настройка центра сертификации OpenSSL
    • Системы управления базами данных
      • Установка и настройка СУБД MySQL
      • Установка и настройка СУБД MongoDB
    • Веб-сервер
      • Apache
        • Установка и настройка стека LAMP
        • Установка и настройка PHPMyAdmin
        • Установка и настройка Wordpress
      • Nginx
        • Установка и настройка Nginx
    • Docker
      • Установка и развертывание приложения в Docker
    • Почтовый сервер Postfix, Dovecot
    • Что такое прокси сервер
      • Прокси Squid
    • OTRS
    • LMS
    • MediaWiki
    • ClamAV
    • CUPS
    • Rsyslog: syslog сервер в Linux
    • Резервное копирование в Linux
      • Резервное копирование через скрипт
      • Bacula
    • Контрольная работа
  • Дополнительно
    • Использование скриптов в ОС Linux
      • Написание bash-скриптов
      • Написание скриптов на Perl
      • Написание скриптов на Python
    • Игры и пасхалки в консоли Linux
    • Полезные ресурсы
    • Рекомендации ФСТЭК по безопасной настройке операционных систем Linux
Powered by GitBook
On this page
  • Установка MongoDB
  • Создадим пользователя admin и пользователей с ограниченными правами для MongoDB Linux
  • Создаем новую базу
  • Добавляем другого пользователя
  • Включаем авторизацию
  • Недостатки СУБД MongoDB
  • Сравнение MongoDB и MySQL в зависимости от задач:
  1. Сервисы Linux
  2. Системы управления базами данных

Установка и настройка СУБД MongoDB

MongoDB — одна из самых распространенных нереляционных систем управления базами данных, работает под Linux. В основе Mongo лежит «Документ», в то время как в основе самой распространенной реляционный СУБД MySQL лежат столбцы и колонки.

Установка MongoDB

Устанавливаем MongoDB из стандартного репозитория

apt-get update

apt-get install mongodb

Данные mongodb по умолчанию будет хранить в каталоге /var/lib/mongodb Логи — в каталоге — /var/log/mongodb

Также, для работы MongoDB необходимо создать директорию /data/db, которая не создается при установке:

sudo mkdir -p /data/db

Далее нужно назначить пользователя mongodb владельцем каталога:

sudo chown mongodb:mongodb /data/db

Стартуем сервис

systemctl start mongodb

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

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 Fri 2023-07-28 07:56:11 UTC; 20min ago
       Docs: man:mongod(1)
   Main PID: 93976 (mongod)
      Tasks: 23 (limit: 2236)
     Memory: 44.9M
     CGroup: /system.slice/mongodb.service
             └─93976 /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.conf

Jul 28 07:56:11 cluster-one systemd[1]: Started An object/document-oriented database.

Заходим в mongo

mongo

Welcome to the MongoDB shell. For interactive help, type «help». For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user >

СУБД используем BSON — своеобразную интерпретацию JSON (JavaScript Object Notation)

Рассмотрим примеры и убедимся в том, что синтаксис очень схож. JavaScript:

firstname = "Andrey";
 lastName = "Ivanov";
 Age = 25

BSON:

USER COLLECTION
 {
 _id:ObjectId("7678sd6fsdfbhw367er3"),
 "firstName":"Andrey",
 "lastName": "Ivanov"
 "Age": 25,
 "projects:["Project A", "Project B", "Project C"]"
 "addresses": [
 {
 street: "123 Lunacharskogo st"
 city: "Yekaterinburg",
 state: "Sverdlovskaya oblast"
 },
 {
 street: "4568 Sadovaya st"
 city: "Moscow",
 state: "Central region"
 }
 ]
 },
 {
 _id:ObjectId("7678s7826fsdfbhw367er3"),
 "firstName":"Nikolay",
 "lastName": "Petrov"
 "Age": 54
 };

Таким образом, заметно основное отличие реляционных БД.

Определенные элементы могут иметь признаки, которых другие элементы той же таблицы не имеют. В MySQL потребовалось бы создавать ряды и колонки для адреса и проектов, в Mongodb это не нужно.

>use admin

>db.getUsers()

Выводим всех пользователей, существующих в документах — элементах БД

Поскольку в данный момент пользователей нет, вывода также не будет.

Создадим пользователя admin и пользователей с ограниченными правами для MongoDB Linux

Заходим в консоль СУБД

mongo

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

>use admin

switched to db admin

Создадим пользователя с правами "userAdminAnyDatabase".Чтобы создать пользователя, введите:

db.createUser(
  {
    user: "username",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

Где:

username — имя пользователя,

password — пароль.

Теперь мы можем проверить список пользователей в БД admin:

>db.getUsers()

Создаем новую базу

Чтобы создать новую базу данных, введите команду:

use database

Вместо database введите название базы данных.

Создадим базу данных people:

use people

Если БД с таким названием уже существует, вы переключитесь на работу с ней.

Как узнать, с какой базой данных идёт работа:

db

Чтобы увидеть список баз данных:

show dbs

Добавляем другого пользователя

Добавляем пользователя с правами на чтение и запись

db.createUser(
   {
    user: "username",
    pwd: "password",
    roles: [ { role: "readWrite", db: "people" } ]
  }
)

Где:

username — имя пользователя,

password — пароль.

Включаем авторизацию

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

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

nano /etc/mongodb.conf

Находим директиву security и задаем параметр authorization (либо добавляем директиву при её отсутствии):

security: authorization: enabled

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

systemctl restart mongodb

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

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

mongo --authenticationDatabase "admin" -u "gutovad" -p

* в данном примере мы подключимся к базе под пользователем gutovad. Пароль будет запрошен системой после ввода команды. Также, после опции -p можно указать пароль в кавычках, например, -p "P@ssw0rd", таким образом пароль не будет запрашиваться системой.

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

> use admin

> db.auth("root", passwordPrompt())

Недостатки СУБД MongoDB

В сравнении с реляционными базами данных, MongoDB имеет не только преимущества, но и недостатки. Вот основные из них:

  • Сложность работы с транзакциями.

  • Меньшее соответствие требованиям к транзакционным системам (ACID — атомарность, согласованность, изолированность, прочность), чем реляционные БД.

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

Сравнение MongoDB и MySQL в зависимости от задач:

PreviousУстановка и настройка СУБД MySQLNextВеб-сервер

Last updated 1 year ago

MySQL и MongoDB — когда и что лучше использоватьХабр
Делаем доступ к базе данных MongoDB защищеннымХабр
MongoDB — установка на Ubuntu. А также настройка и подключение.
Установка и настройка MongoDB в CentOS | Windows для системных администраторов
Logo
Logo
Logo
Logo