Pesquisa de site

Como instalar o MongoDB no Ubuntu 18.04


MongoDB é um sistema de gerenciamento de banco de dados de documentos moderno e de código aberto, projetado para persistência de dados de alto desempenho, alta disponibilidade e escalonamento automático, com base na tecnologia de ponta de NoSQL. No MongoDB, um registro é um documento, que é uma estrutura de dados composta por pares de campos e valores (documentos MongoDB são comparáveis a objetos JSON).

Por fornecer alto desempenho e ótimos recursos de escalabilidade, está sendo utilizado para a construção de aplicações modernas que exigem bancos de dados poderosos, de missão crítica e de alta disponibilidade.

Neste artigo explicaremos como instalar o MongoDB, gerenciar seu serviço e configurar a autenticação básica no Ubuntu 18.04.

Importante: você deve observar que os desenvolvedores do MongoDB oferecem apenas pacotes para versões LTS de 64 bits (suporte de longo prazo) do Ubuntu, como Importante:14,04 LTS (confiável), 16,04 LTS (xenial) e assim por diante.

Leia também: Como instalar o MongoDB no Ubuntu 16.04/14.04 LTS

Etapa 1: Instalando o MongoDB no Ubuntu 18.04

1. Os repositórios oficiais de pacotes de software do Ubuntu vêm com a versão mais recente do MongoDB e podem ser facilmente instalados usando o gerenciador de pacotes APT.

Primeiro atualize o cache do pacote de software do sistema para ter a versão mais recente das listagens do repositório.

sudo apt update

2. Em seguida, instale o pacote MongoDB que inclui vários outros pacotes, como mongo-tools, mongodb-clients, mongodb-server< e mongodb-server-core.

sudo apt install mongodb

3. Depois de instalado com sucesso, o serviço MongoDB será iniciado automaticamente via systemd e o processo escutará na porta 27017. Você pode verificar seu status usando o comando systemctl conforme mostrado.

sudo systemctl status mongodb

Etapa 2: Gerenciando o serviço MongoDB

4. A instalação do MongoDB vem como um serviço systemd e pode ser facilmente gerenciada por meio de comandos padrão do systemd, conforme mostrado.

Para parar de executar o serviço MongoDB, execute o seguinte comando.

sudo systemctl stop mongodb	

Para iniciar um serviço MongoDB, digite o seguinte comando.

sudo systemctl start mongodb

Para reiniciar um serviço MongoDB, digite o seguinte comando.

sudo systemctl restart mongodb	

Para desabilitar o serviço MongoDB iniciado automaticamente, digite o seguinte comando.

sudo systemctl disable mongodb	

Para habilitar novamente o serviço MongoDB, digite o seguinte comando.

sudo systemctl enable mongodb	

Etapa 3: habilitar acesso remoto ao MongoDB no firewall

5. Por padrão, o MongoDB é executado na porta 27017, para permitir acesso de qualquer lugar que você possa usar.

sudo ufw allow 27017

Mas permitir o acesso ao MongoDB de qualquer lugar dá acesso irrestrito aos dados do banco de dados. Portanto, é melhor conceder acesso ao local do endereço IP específico para a porta padrão do MongoDB usando o seguinte comando.

sudo ufw allow from your_server_IP/32 to any port 27017 
sudo ufw status

6. Por padrão, a porta 27017 escuta apenas no endereço local 127.0.0.1. Para permitir conexões remotas do MongoDB, você precisa adicionar o endereço IP do seu servidor ao arquivo de configuração /etc/mongodb.conf conforme mostrado.

bind_ip = 127.0.0.1,your_server_ip
#port = 27017

Salve o arquivo, saia do editor e reinicie o MongoDB.

sudo systemctl restart mongodb

Etapa 4: Criar usuário raiz e senha do banco de dados MongoDB

7. Por padrão o MongoDB vem com a autenticação do usuário desabilitada, portanto ele é iniciado sem controle de acesso. Para iniciar o mongo shell, execute o seguinte comando.

mongo 

8. Depois de se conectar ao mongo shell, você pode listar todos os bancos de dados disponíveis com o seguinte comando.

> show dbs

9. Para ativar o controle de acesso em sua implantação do MongoDB para impor autenticação; exigindo que os usuários se identifiquem sempre que se conectarem ao servidor de banco de dados.

O MongoDB usa o mecanismo de autenticação Salted Challenge Response Authentication Mechanism (SCRAM) por padrão. Usando SCRAM, o MongoDB verifica as credenciais do usuário fornecidas em relação ao nome do usuário, senha e banco de dados de autenticação (o banco de dados no qual o usuário foi criado, e junto com o nome do usuário, serve para identificar o usuário).

Você precisa criar um usuário administrador (análogo ao usuário root em MySQL/MariaDB) no banco de dados admin. Este usuário pode administrar usuários e funções, como criar usuários, conceder ou revogar funções de usuários e criar ou modificar funções alfandegárias.

Primeiro mude para o banco de dados admin e, em seguida, crie o usuário root usando os comandos a seguir.

> use admin 
> db.createUser({user:"root", pwd:"=@!#@%$admin1", roles:[{role:"root", db:"admin"}]})

Agora saia do shell mongo para habilitar a autenticação conforme explicado a seguir.

10. A instância do mongodb foi iniciada sem a opção de linha de comando --auth. Você precisa habilitar a autenticação de usuários editando o arquivo /lib/systemd/system/mongod.service, primeiro abra o arquivo para edição assim.

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

Na seção de configuração [Service], encontre o parâmetro ExecStart.

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

Altere para o seguinte:

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

Salve o arquivo e saia dele.

11. 8. Após fazer alterações no arquivo de configuração, execute ‘systemctl daemon-reload‘ para recarregar as unidades e reiniciar o serviço MongoDB e verificar seu status da seguinte maneira.

systemctl daemon-reload
sudo systemctl restart mongodb	
sudo systemctl status mongodb	

12. Agora, ao tentar se conectar ao mongodb, você deve se autenticar como usuário do MongoDB. Por exemplo:

mongo -u "root" -p --authenticationDatabase "admin"

Nota: Não é recomendado inserir sua senha na linha de comando porque ela será armazenada no arquivo de histórico do shell e poderá ser visualizada posteriormente por um invasor.

Isso é tudo! MongoDB é um sistema de gerenciamento de banco de dados No-SQL moderno e de código aberto que oferece alto desempenho, alta disponibilidade e escalonamento automático.

Neste artigo, explicamos como instalar e começar a usar o MongoDB no Ubuntu 18.04. Se você tiver alguma dúvida, use o formulário de comentários abaixo para entrar em contato conosco.