50% de desconto todos os planos, por tempo limitado. A partir de $2.48/mo
12 min restantes
Bancos de Dados e Análise

Como Instalar MongoDB nas Três Versões Mais Recentes de Ubuntu (Passo a Passo)

Jim Schwarz By Jim Schwarz 12 min de leitura
Símbolo original de MongoDB apresentado em um servidor futurista para instalar MongoDB em Ubuntu com tagline sobre o que esperar do artigo, título do artigo e logo da marca Cloudzy

Então você escolheu usar MongoDB, uma ótima alternative to MariaDB para construir uma aplicação MERN stack, uma plataforma de análise ou qualquer sistema baseado em documentos, mas você esbarra em linhas de comando Linux complicadas e inúmeros erros de terminal. 

Mas não se preocupe: este guia traz tudo o que você precisa saber para instalar MongoDB em Ubuntu.

MongoDB utiliza X.Y.Z controle de versão 8.0 é um principal série de lançamento, e 8.2 é um menor lançamento dentro desse ciclo 8.0. Lançamentos menores adicionam recursos no mesmo ciclo principal e, a partir da versão 8.0, também são oferecidos para instalações on-prem em casos de uso específicos (por exemplo, Search e Vector Search). MongoDB 8.0 em Ubuntu suporta 24.04 (Noble), 22.04 (Jammy) e 20.04 (Focal) em sistemas de 64 bits, com suporte ARM64 em plataformas selecionadas.

GnuPG e Curl — Pré-requisitos

Antes de instalar o mongodb-org pacote oficial, Ubuntu requer dois pré-requisitos: GnuPG e Curl. Essas ferramentas permitem que Ubuntu baixe MongoDB, porque o mongodb próprio pacote de Ubuntu não é mantido pela MongoDB Inc. e entra em conflito com o pacote oficial mongodb-org pacote. Se você já instalou mongodb certifique-se de desinstalá-lo.

Em seguida, execute o comando sudo apt-get install gnupg curl. Curl é uma ferramenta para baixar arquivos da internet e é necessária para recuperar a chave de segurança de MongoDB. GnuPG é o que Ubuntu usa para verificar a autenticidade do software. Se GnuPG estiver ausente, Ubuntu não consegue verificar os pacotes de MongoDB.

Verifique se seu terminal instalou com sucesso GnuPG e Curl. Se instalou, deve ser semelhante a isto:Saída do terminal Ubuntu após adicionar GnuPG e Curl

Importando a Chave GPG de MongoDB

O gerenciador de pacotes Ubuntu, APT, usa chaves GPG para verificar pacotes antes da instalação. Sem essa chave GPG, Ubuntu não permite que os repositórios de MongoDB sejam adicionados. Digite o seguinte comando no seu terminal para adicionar a chave:

curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
   sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
   --dearmor

Se funcionar, a saída do seu terminal deve ser assim:Terminal Ubuntu após adicionar com sucesso a chave GPG de MongoDB.

Simplificando, este comando baixa a assinatura de segurança de MongoDB, a converte em um formato que Ubuntu consiga ler e a salva em uma pasta segura do sistema. Aqui está um detalhamento do comando, seção por seção:

  1. curl -fsSL URL baixa a chave oficial de MongoDB
  2. –dearmor converte a chave do formato de texto em binário para Ubuntu entender
  3. -o /usr/share/keyrings/mongodb-server-8.0.gpg salva o arquivo binário em uma pasta onde Ubuntu armazena chaves confiáveis

Se você seguir cada comando da linha exatamente, a chave GPG pública será adicionada sem problemas. Alguns usuários, porém, enfrentam erros ao baixar MongoDB por causa de uma chave GPG incompatível. Erros como:

NO_PUBKEY
The following signatures couldn't be verified
public key not available

Acontecem quando você não segue os comandos de chave GPG exatos anteriormente e usa sudo apt-key porque Ubuntu moderno não recomenda isso.

Adicionar Repositório MongoDB

Adicionar o repositório de MongoDB cria um arquivo informando a Ubuntu que os pacotes de MongoDB estão disponíveis em um endereço de internet específico. Crie o arquivo de lista em /etc/apt/sources.list.d/mongodb-org-8.0.list escrevendo a linha do repositório nele usando echo … | sudo tee …

É aqui que fica complicado, pois versões diferentes de Ubuntu exigem uma variação diferente desse comando. Vamos agora examinar como importar o arquivo de lista nas três versões de Ubuntu mencionadas anteriormente.

Ubuntu 24.04 (Noble)

Para criar o arquivo de lista em Ubuntu 24.04, simplesmente coloque echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list no seu terminal.

Pode parecer confuso, mas não se preocupe. Assim que dividirmos o comando em seções, ficará cristalino.

  1. echo imprime texto
  2. /etc/apt/sources.list.d é a pasta onde Ubuntu armazena as definições de fontes de software. Cada arquivo com .list formato dentro da pasta aponta Ubuntu para um local específico de onde baixar software
  3. Você não pode escrever nada em pastas do sistema por padrão como usuário normal. camiseta dá ao usuário permissão especial para escrever texto em arquivos do sistema, enquanto sudo
  4. nobre é o nome de código de Ubuntu 24.04. Cada versão de Ubuntu tem um nome de código assim:
Versão Nome do código
20.04 Focal
22.04 Jammy
24.04 Nobre

Se você não combinar sua versão de Ubuntu com a linha de comando correta, Ubuntu falha em reconhecer o repositório de MongoDB.

Ubuntu 22.04 (Jammy)

Adicionar o arquivo de lista a Ubuntu Jammy parece exatamente igual, mas você deve inserir a linha de comando substituindo nobre com jammyI don't see any English text to translate in your message. Could you please provide the English text you'd like me to translate to Portuguese?

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Certifique-se de que seja aquela que corresponde à sua versão de Ubuntu, senão falhará novamente.

Ubuntu 20.04 (Focal)

Siga as mesmas etapas aqui, mas em vez de nobre or jammy, colocar em focal:

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list

Com o repositório configurado, você pode prosseguir com a instalação mongodb-org.

Atualizar o banco de dados de pacotes

Agora que o repositório é reconhecido pelo Ubuntu, você precisa recarregar o banco de dados de pacotes dentro dele, para que a partir de agora ele inclua também o MongoDB. Execute o comando abaixo:

sudo apt-get update

Este comando permanece o mesmo em todas as versões do Ubuntu, e se for pulado, o Ubuntu não incluirá o MongoDB. Se o comando funcionar corretamente, a saída do seu terminal será:Saída do terminal Ubuntu após executar sudo apt-get update

 Agora, após recarregar seu banco de dados de pacotes, é hora de baixar os pacotes do MongoDB.

Instalar MongoDB Community Server

Existem vários lançamentos do MongoDB para instalar, mas os usuários geralmente optam pela versão estável mais recente, pois é mais preferível. Para instalar a versão estável mais recente, execute sudo apt-get install -y mongodb-org

O Ubuntu agora baixou os pacotes do MongoDB, instalou-os, criou uma conta de usuário do MongoDB e um diretório de dados, e registrou o MongoDB como um serviço do sistema. Neste ponto, cobrimos como baixar o MongoDB no Ubuntu. Agora vamos iniciá-lo.

Como iniciar o MongoDB

Agora, para executar o MongoDB, você precisa informar ao gerenciador de serviços do Ubuntu, o "systemd", para reconhecer o MongoDB como um serviço em execução, e para fazer isso, você precisa digitar o seguinte comando no seu terminal:

sudo systemctl start mongod

Se o comando funcionar corretamente, o Ubuntu agora abrirá o MongoDB como um aplicativo em execução. Se o comando não funcionar corretamente, porém, você pode receber um erro semelhante a Falha ao iniciar mongod.service.

Isso pode acontecer devido a vários problemas comuns:

  • Erro no arquivo de configuração in /etc/mongod.conf (erros de indentação YAML são comuns)
  • Conflito de porta (porta 27017 já está em uso)
  • Problema de permissão nos diretórios de dados ou logs (var/lib/mongodb ou var/log/mongodb)
  • Disco cheio or estado do sistema de arquivos corrompido

Três comandos para diagnosticar o problemaConfiguração futurista de servidor + três comandos do terminal ubuntu + nuvem com caminho de atualização em escrita.

É fácil dizer o que pode estar errado na sua configuração que impede o MongoDB de executar, mas é muito mais difícil identificar a causa exata. Três maneiras simples para diagnosticar de onde o erro pode vir são:

  1. Verifique o status do serviço: sudo systemctl status mongod –no-pager
  2. Verifique os logs detalhados (o mais importante): sudo journalctl -u mongod –no-pager -n 100
  3. Verifique o arquivo de log do MongoDB

Mas observe que se o disco está cheio ou os arquivos do sistema estão corrompidos, a solução dependerá mais do hardware do que do software. Os usuários podem precisar adquirir equipamentos melhores para sua configuração de servidor a fim de executar o MongoDB de forma eficiente se sua configuração atual estiver desatualizada. 

Se comprar um servidor completo não cabe no seu orçamento, considere conferir o Cloudzy Ubuntu VPS para uma experiência limpa em seu próprio servidor privado com a distribuição Ubuntu de sua preferência. Ele oferece 24/7 suporte e até 40Gbps velocidade de rede, graças ao seu armazenamento NVMe SSD e DDR5 RAM armazenamento.

Além disso, tem latência mínima, 99.95% disponibilidade, e um 14 dias garantia de reembolso. E mais, também está disponível em 12 localidades espalhadas por todo o mundo a um preço acessível.

Três Correções Mais Comuns para Fazer o MongoDB Funcionar

Não existe uma maneira única de identificar exatamente qual é o problema do seu sistema com o MongoDB e resolvê-lo em um único passo. Aqui estão algumas correções comuns que você pode tentar para fazer o MongoDB voltar a funcionar.

  1. Erro de indentação no config YAML. Suponha que você editou /etc/mongod.conf verifique novamente a indentação executando sudo nano /etc/mongod.conf. O arquivo YAML é muito sensível a espaços em branco, então certifique-se de que há apenas dois espaços por nível em /etc/mongod.conf.
  2. Porta 27017 ocupada. Se algo mais estiver usando a porta 27017, encerre-o ou altere a porta do MongoDB em mongod.conf. Se não tem certeza sobre o que está rodando na porta 27017, execute sudo ss -lntp | grep 27017 para conferir
  3. Problema de permissão no diretório de dados. Às vezes o MongoDB não tem permissão para ser executado em seu sistema e, portanto, não funciona. Primeiro execute sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb, depois reinicie o MongoDB com sudo systemctl restart mongod

De acordo com Site oficial do MongoDB, outra forma de contornar esse problema é recarregar o daemon com sudo systemctl daemon-reload, e execute o primeiro comando, sudo systemctl start mongod, novamente.

Se não houver mongod.service, a instalação não colocou a unidade systemd, então reinstale o mongodb-org pacote definido.

Com tudo isso feito, você pode verificar se MongoDB iniciou com sucesso usando sudo systemctl status mongod. Se o terminal exibir ativo (em execução), está tudo certo. Mas ainda há algumas configurações adicionais que tornam sua experiência muito melhor.

Automatizar MongoDBConfiguração futurista do servidor com símbolo de automação MongoDB + terminal com comando MongoDB + arquivo de log

MongoDB não abre automaticamente toda vez que você inicia o servidor; você terá que repetir alguns dos passos mencionados cada vez. Opcionalmente, você pode instruir Ubuntu para iniciar MongoDB após inicializar seu desktop.

Basta executar sudo systemctl enable mongod no seu terminal, que, a partir de agora, instruirá o seu sistema a executar MongoDB após cada reinicialização. Além disso, você pode reiniciar o mongod processo executando o comando sudo systemctl restart mongod. Além disso, os usuários podem precisar analisar qualquer erro ou mensagem importante revisando a saída no arquivo:

/var/log/mongodb/mongod.log

Agora que tudo está configurado, vamos começar a usar seu mongod.

Abrindo o Shell do MongoDB

Para interagir com seu banco de dados, os usuários devem abrir um shell MongoDB executando o comando mongosh. Pense nele como um prompt de comando dedicado para MongoDB ou um console MySQL. Como alternativa, você pode interagir com MongoDB usando ferramentas gráficas, como drivers MongoDB. Mas se você quiser interagir a partir do terminal, mongosh foi feito para que isso aconteça.

Seu MongoDB agora será totalmente funcional, mas há alguns passos adicionais que você deve considerar para mantê-lo seguro.

Proteger MongoDB com AutenticaçãoMongoDB processo de autenticação + símbolo de cadeado + confirmação de autenticação.

MongoDB não possui proteção por senha por padrão, porque você já precisa ter acesso para criar um usuário. Veja como fazer isso de forma simples

Criar um Usuário Admin

Primeiro, você precisa trocar para o banco de dados de admin com:

use admin

Depois crie um usuário com db.createUser({…}). Preencha com sua

  • Nome de usuário
  • Senha
  • Papel

Para role, de preferência digite root que significa controle total ou admin.

Ativar Autenticação

Agora que temos nosso próprio usuário configurado, precisamos editar o /etc/mongod.conf arquivo. Isso ocorre porque este arquivo controla o comportamento do MongoDB. Mas lembre-se de que ao editar o arquivo você sempre precisa reiniciar o mongod serviço depois com sudo systemctl restart mongod. O que precisamos alterar aqui é um parâmetro chamado authorization que se parece com isto:

security:

  authorization:

Para completar o processo de autenticação, basta alterar o valor de authorization assim:

security:

  authorization: enabled

A partir de agora, MongoDB exige login, então sua autenticação está finalizada. Vamos agora passar para outra configuração que aproveita totalmente MongoDB.

Abra Seu Firewall

Como mencionado antes, MongoDB roda na porta 27017. Como firewalls bloqueiam portas por padrão, você precisa instruir seu firewall a permitir aplicações na porta 27017. Para fazer isso, simplesmente execute o comando:

ufw allow from YOUR_IP to any port 27017

Alternativamente, você também pode executar o comando ufw allow 27017, mas cuidado, porque executar isto permitirá que a internet inteira acesse essa porta. Provavelmente sua opção mais segura é ficar com a primeira, já que ela permite tráfego na porta apenas a partir do seu endereço IP.

Usuários podem ainda enfrentar desafios ao rodar MongoDB, como o problema de acesso remoto. Fique por aqui para descobrir como corrigir.

Problema de Acesso RemotoConfiguração de servidor com 3 monitores ajustando as configurações de acesso remoto do MongoDB + comandos de terminal.

MongoDB é lançado com bindIp. bindIp limita MongoDB a 127.0.0.1, permitindo apenas conexões locais. Portanto, se você tentasse conectar ao seu servidor MongoDB de outro lugar, você não teria acesso, já que MongoDB está configurado por padrão para permitir apenas conexões locais, a menos que configurado de outra forma.

Novamente, vá para /etc/mongod.conf, e você verá três linhas assim:

net:

  port: 27017

  bindIp: 127.0.0.1

Se você quer permitir conexões remotas para seu mongod usuário, altere os valores acima desta forma:

net:

  port: 27017

  bindIp: 0.0.0.0

Depois, reinicie seu mongod serviço com sudo systemctl restart mongod como você faz com qualquer outra edição no arquivo.

Você concedeu permissão para seu mongod serviço aceitar conexões remotas. Mas tome cuidado: ao fazer isso, você expõe seu banco de dados para a internet inteira se ainda não tiver autenticado seu mongod usuário. Há muitos bots que constantemente scanneiam portas MongoDB abertas, então sempre certifique-se de que seu usuário mongod tem uma senha.

Resumo geral

Parabéns, você fez tudo para criar um serviço MongoDB otimizado para seu sistema Ubuntu. Aqui está também um mapa mental para acompanhar cada etapa apresentada neste artigo.

Comando O Que Faz
atualizar apt Atualizar lista de software
instalar apt Instalar software
curl Baixar arquivo
gpg Gerenciar chaves de criptografia
echo Imprimir texto
camiseta Escrever em arquivo protegido
systemctl start Iniciar serviço
ativar systemctl Iniciar na inicialização
estado do systemctl Verificar serviço
mongosh Entrar no shell MongoDB
Editar /etc/mongod.conf Ativar autenticação
ufw Gerenciar firewall
bindIp Permitir acesso remoto

Isso deve ajudá-lo a entender melhor o processo todo. Mas se configurar MongoDB por conta própria for demais para você, considere iniciar uma instância de MongoDB VPS para seu próprio servidor Ubuntu 24.04 LTS com MongoDB pré-instalado.

Vem com 99.95% uptime, 24/7 suporte e 14 dias garantia de reembolso. Além disso, ele suporta até 40 Gbps de largura de banda graças ao seu DDR5 RAM e armazenamento NVMe SSD armazenamento. Nem se preocupe com onde você mora, pois ele também está disponível em 12 locais ao redor do mundo com preço acessível.

Mas enfim, você conseguiu configurar seu próprio serviço MongoDB robusto com todas as configurações para suportar cargas de trabalho e negócios em nível de produção.

Compartilhar

Mais do blog

Continue lendo.

Gestão Inteligente de Dados para Seu Negócio: Estratégias de Armazenamento e Backup "em Nuvem" com VPS
Bancos de Dados e Análise

Gestão Inteligente de Dados para Seu Negócio: Estratégias de Armazenamento e Backup "em Nuvem" com VPS

VPS para gestão segura de dados empresariais é a estratégia que recomendo sempre que uma empresa decide parar de malabarizar arquivos entre laptops, anexos de e-mail e pastas esquecidas

Rexa CyrusRexa Cyrus 7 min de leitura
Visualização materializada versus visualização
Bancos de Dados e Análise

Visualização materializada versus visualização: entendendo seu papel em bancos de dados

Em sistemas de banco de dados, uma visualização materializada é um objeto que armazena os resultados pré-computados de uma consulta como uma tabela física. Como os dados são efetivamente armazenados em disco, operações complexas

Ivy JohnsonIvy Johnson 7 min de leitura
SnowFlake versus DataBricks
Bancos de Dados e Análise

Databricks vs Snowflake: comparação imparcial para profissionais de dados 🧱❄️

Para empresas que dependem de dados nas suas decisões — seja plataformas de e-commerce rastreando comportamento de clientes, instituições financeiras prevendo tendências ou empresas de tecnologia

Allan Van KirkAllan Van Kirk leitura de 13 minutos

Pronto para fazer o deploy? A partir de $2,48/mês.

Cloud independente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Reembolso em 14 dias.