Como instalar o sistema de banco de dados MongoDB no Ubuntu?

MongoDB

Neste blog falamos sobre alguns sistemas de banco de dados, entre os quais os mais populares são MariaDB e MySQL, já que são os sistemas que normalmente estão incluídos no Xampp ou Lampp. Desta vez, vamos falar sobre outro sistema que é MongoDB.

MongoDB é um sistema de banco de dados NoSQL orientado a documentos de código aberto, este é um moderno sistema de gerenciamento de banco de dados de documentos projetado para persistência de dados de alto desempenho, alta disponibilidade, bem como escalonamento automático, baseado na tecnologia da técnica NoSQL.

Em vez de salvar dados em tabelas como é feito em bancos de dados relacionais, o MongoDB salva estruturas de dados em um documento, que é uma estrutura de dados composta por pares de campo e valor (os documentos do MongoDB são comparáveis ​​aos objetos JSON).

Por fornecer alto desempenho e excelentes características de escalabilidade, está sendo usado para construir aplicativos modernos que requerem bancos de dados poderosos, de missão crítica e altamente disponíveis.

Instalação do MongoDB no Ubuntu

Para instalar este sistema de banco de dados em nosso sistema, Só precisamos abrir um terminal e executar o seguinte comando nele:

sudo apt install mongodb

Instalação feita, O serviço MongoDB será iniciado automaticamente via systemd e o processo será executado na porta 27017. Você pode verificar seu status usando o comando:

sudo systemctl status mongodb

Caso contrário, podemos forçar o início com este comando:

sudo systemctl start mongodb

Habilitando conexões remotas para MongoDB

Mongo DB 1

O sistema de banco de dados MongoDB por padrão usa a porta 27017 que devemos abrir Para aceitar conexões remotas, só o habilitamos com o seguinte comando.

sudo ufw allow 27017

Por padrão, a porta 27017 só pode ser acessada a partir do endereço local 127.0.0.1. Para permitir conexões remotas ao MongoDB, é necessário adicionar o endereço IP do servidor no arquivo /etc/mongodb.conf

Basta editar com:

sudo nano

E podemos ver algo semelhante a isto:

bind_ip = 127.0.0.1, your_server_ip

#port = 27,017

Que editamos com os dados do nosso servidor.

Permitindo acesso ao MongoDB de qualquer lugar, ele fornece acesso irrestrito aos dados no banco de dados. Portanto, é melhor dar acesso ao endereço IP padrão específico do local da porta do MongoDB.

sudo ufw allow from your_server_IP/32 to any port 27017

sudo ufw status

Feito isso, basta reiniciar o serviço para que as novas alterações sejam carregadas no início, isso fazemos com:

sudo systemctl restart mongodb

Crie um usuário no MongoDB com senha

Por padrão, o banco de dados tem acesso bastante simples, portanto, para reforçar isso, podemos criar um usuário com uma senha.

MongoDB usa o mecanismo de autenticação SCRAM por padrão. O uso de SCRAM no sistema verifica as credenciais do usuário fornecidas em relação ao nome do usuário, senha e banco de dados de autenticação.

Basta iniciar o console do banco de dados com o seguinte comando:

Mongo

Podemos fazer uma lista dos bancos de dados existentes com:

show dbs

Podemos criar um usuário que nos permitirá gerenciar usuários e funções como criar usuários, conceder ou revogar funções de usuário e criar ou modificar funções alfandegárias.

Basta digitar

use admin

E criamos o usuário com o seguinte comando, onde substituímos o nome do utilizador "root" e a palavra-passe "password", pelos crecenciales de acesso que consideramos adequados.

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

Feito isso, devemos habilitar o método de autenticação para isso vamos editar o seguinte arquivo:

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

E vamos procurar a próxima linha:

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

E a edite de modo que seja da seguinte maneira:

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

Agora nós simplesmente reinicializamos no banco de dados

systemctl daemon-reload

sudo systemctl restart mongodb

sudo systemctl status mongodb              

Y Testamos o método de autenticação com:

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

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Detectável dito

    Me ajude com este ERROR.

    2021-03-24T21: 33: 16.233 + 0000 E QUERY [thread1] Erro: listDatabases falhou: {
    «Ok»: 0,
    "Errmsg": "não autorizado no admin para executar o comando {listDatabases: 1.0, $ db: \" admin \ "}",
    "Código": 13,
    "CodeName": "Não autorizado"
    }:
    _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