Как установить систему баз данных MongoDB в Ubuntu?

MongoDB

В этом блоге мы говорили о некоторых системах баз данных, среди которых наиболее популярными являются MariaDB и MySQL, поскольку они обычно входят в состав Xampp или Lampp. На этот раз мы поговорим о другая система, которая MongoDB.

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

Вместо сохранения данных в таблицах, как это делается в реляционных базах данных, MongoDB сохраняет структуры данных в документе., который представляет собой структуру данных, состоящую из пар полей и значений (документы MongoDB сопоставимы с объектами JSON).

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

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

Чтобы установить эту систему баз данных в нашей системе, Нам нужно только открыть терминал и выполнить в нем следующую команду:

sudo apt install mongodb

Установка завершена, Сервис MongoDB запустится автоматически через systemd и процесс будет запущен на порту 27017. Вы можете проверить его статус с помощью команды:

sudo systemctl status mongodb

Если нет, мы можем запустить принудительный запуск с помощью этой команды:

sudo systemctl start mongodb

Включение удаленных подключений к MongoDB

МонгоДБ 1

Система базы данных MongoDB по умолчанию использует порт 27017, который мы должны открыть. Чтобы принимать удаленные подключения, мы включаем его только с помощью следующей команды.

sudo ufw allow 27017

По умолчанию к порту 27017 можно получить доступ только с локального адреса 127.0.0.1. Чтобы разрешить удаленные подключения к MongoDB, необходимо добавить IP-адрес сервера в файл /etc/mongodb.conf

Просто отредактируйте его:

sudo nano

И мы можем увидеть что-то похожее на это:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Которые мы редактируем с данными с нашего сервера.

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

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

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

sudo systemctl restart mongodb

Создайте пользователя в MongoDB с паролем

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

MongoDB использует механизм аутентификации SCRAM. по умолчанию. Использование SCRAM в системе проверяет предоставленные учетные данные пользователя на соответствие имени пользователя, паролю и базе данных аутентификации.

Просто запустите консоль базы данных с помощью следующей команды:

Mongo

Мы можем составить список существующих баз данных с помощью:

show dbs

Мы можем создать пользователя, который позволит нам управлять пользователями и функциями. такие как создание пользователей, предоставление или отзыв ролей пользователей, а также создание или изменение таможенных ролей.

Просто введите

use admin

И мы создаем пользователя с помощью следующей команды, где мы заменяем имя пользователя «root» и пароль «password» на учетные данные доступа, которые мы считаем подходящими.

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

Как только это будет сделано, мы должны включить метод аутентификации. для этого мы собираемся отредактировать следующий файл:

sudo nano /lib/systemd/system/mongodb.service

И будем искать следующую строчку:

ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

И отредактируйте так, чтобы он выглядел следующим образом:

ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

Сейчас просто перезагружаемся в базе

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y Мы тестируем метод аутентификации с помощью:

mongo -u "usuario" -p --authenticationDatabase "contraseña"

Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Обнаруживаемый сказал

    Помогите мне с этой ОШИБКОЙ.

    2021-03-24T21: 33: 16.233 + 0000 E QUERY [thread1] Ошибка: listDatabases failed: {
    «Хорошо»: 0,
    "Errmsg": "администратор не авторизован для выполнения команды {listDatabases: 1.0, $ db: \" admin \ "}",
    «Код»: 13,
    «CodeName»: «Неавторизованный»
    }:
    _getErrorWithCode@src/mongo/shell/utils.js: 25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js: 65: 1
    shellHelper.show@src/mongo/shell/utils.js: 816: 19
    shellHelper@src/mongo/shell/utils.js: 706: 15
    @ (shellhelp2): 1: 1