50% de desconto todos os planos, por tempo limitado. Começando em $2.48/mo
Faltam 12 minutos
Bancos de dados e análises

Como instalar o MongoDB nas três versões mais recentes do Ubuntu (passo a passo)

Jim Schwarz By Jim Schwarz 12 minutos de leitura
Símbolo original do MongoDB apresentado em um servidor futurista para instalação do MongoDB no Ubuntu+ slogan sobre o que esperar do artigo + título do artigo + logotipo da marca Cloudzy

Então você decidiu usar o MongoDB, um ótimo alternative to MariaDB para construir um aplicativo de pilha MERN, uma plataforma analítica ou qualquer sistema baseado em documentos, mas se deparou com as boas e antigas linhas de comando do Linux e inúmeros erros de terminal. 

Não se preocupe, porque este guia fornece tudo o que você precisa saber de A a Z para instalar o MongoDB no Ubuntu.

MongoDB usa X.Y.Z versionamento. 8.0 é um principal série de lançamentos e 8.2 é um menor lançamento dentro desse ciclo 8.0. Versões secundárias adicionam recursos dentro do mesmo ciclo principal e, a partir da versão 8.0, também são oferecidas para instalações locais para casos de uso específicos (por exemplo, Pesquisa e Pesquisa vetorial). MongoDB 8.0 no Ubuntu suporta 24,04 (Nobre), 22,04 (Jammy) e 20,04 (Focal) em sistemas de 64 bits, com suporte ARM64 em plataformas selecionadas.

Pré-requisitos GnuPG e Curl

Antes de instalar o oficial mongodb-org pacote, o Ubuntu requer dois pré-requisitos: GnuPG e Enrolar. Essas ferramentas dão permissão ao Ubuntu para baixar o MongoDB, porque o próprio Ubuntu mongodb pacote não é mantido pela MongoDB Inc. e entra em conflito com o 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 do MongoDB. GnuPG é o que o Ubuntu usa para verificar a autenticidade do software. Se o GnuPG estiver faltando, o Ubuntu não consegue verificar os pacotes MongoDB.

Certifique-se de que seu terminal tenha instalado com sucesso o GnuPG e o Curl. Se assim fosse, deveria ficar assim:Saída do terminal Ubuntu após adicionar GnuPG e Curl

Importando chave GPG do MongoDB

O gerenciador de pacotes do Ubuntu, APT, usa chaves GPG para verificar os pacotes antes da instalação. Sem esta chave GPG, o Ubuntu não permite a adição de repositórios do MongoDB. Digite o seguinte comando em 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 deverá ficar assim:Terminal Ubuntu após adicionar com sucesso a chave GPG do MongoDB.

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

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

Se você combinar perfeitamente todas as linhas de comando, a chave GPG pública será adicionada sem problemas. Alguns usuários, no entanto, encontram problemas ao baixar o MongoDB devido a uma chave GPG incompatível. Erros como:

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

Acontece quando você não segue os comandos exatos da tecla GPG anteriormente e, em vez disso, usa sudo apt-key porque o Ubuntu moderno não o recomenda.

Adicionar repositório MongoDB

Adicionar o Repositório do MongoDB cria um arquivo informando ao Ubuntu que os pacotes do MongoDB estão ativos 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 eco… | sudo camiseta…

É aqui que fica complicado, já que diferentes versões do Ubuntu exigem uma variação diferente deste comando. Examinaremos agora como importar o arquivo de lista nas três versões do Ubuntu mencionadas anteriormente.

Ubuntu 24.04 (nobre)

Para criar o arquivo de lista no Ubuntu 24.04, basta colocar echo “deb [arch=amd64,arm64 assinado por=/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.

Isso pode parecer confuso, mas não se preocupe. Assim que dividirmos o comando em seções, ele ficará bem claro.

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

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

Ubuntu 22.04 (Jammy)

Adicionar o arquivo de lista ao Ubuntu Jammy parece o mesmo, mas você deve inserir a linha de comando ao substituir nobre com doce, assim:

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 é aquele que corresponde à sua versão do Ubuntu, caso contrário, falhará novamente.

Ubuntu 20.04 (Focal)

Siga os mesmos passos aqui, mas em vez de nobre or doce, coloque em focal:

echo “deb [arch=amd64,arm64 assinado por=/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

Agora 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 do pacote dentro dele, então a partir de agora ele inclui o MongoDB também. Emita o comando mencionado abaixo:

sudo apt-get update

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

 Agora, depois de recarregar seu banco de dados de pacotes, é hora de baixar os pacotes MongoDB.

Instale o servidor da comunidade MongoDB

Existem várias versões do MongoDB para instalar, mas os usuários tendem a usar a 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. Até agora, já abordamos como baixar o MongoDB no Ubuntu. Agora vamos começar.

Como iniciar o MongoDB

Agora, para executar o MongoDB, precisamos informar ao gerenciador de serviços do Ubuntu, “systemd”, para reconhecer o MongoDB como um serviço de segundo plano, e para fazer isso, você precisa digitar o seguinte comando em seu terminal:

sudo systemctl start mongod

Se o comando funcionar, o Ubuntu abrirá agora o MongoDB como um aplicativo em segundo plano. Se o comando não funcionar, no entanto, você poderá 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 recuo YAML são comuns)
  • Conflito portuário (a porta 27017 já está ocupada)
  • Problema de permissão em diretórios de dados ou log (var/lib/mongodb ou var/log/mongodb)
  • Disco cheio or estado do sistema de arquivos corrompido

Três comandos para diagnosticar o problemaConfiguração futurística do servidor + três comandos de terminal do Ubuntu + nuvem com gravação de caminho de atualização.

É fácil dizer o que pode estar errado com sua configuração de que o MongoDB não funciona, mas é muito mais difícil identificar a causa exata. Três maneiras fáceis de diagnosticar a origem do erro são:

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

Mas observe que se o seu disco estiver cheio ou os arquivos do sistema estiverem corrompidos, a correção será mais relacionada ao hardware do que ao software. Os usuários podem ter que comprar equipamentos melhores para a configuração do servidor, a fim de executar o MongoDB com eficiência se a configuração atual estiver desatualizada. 

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

Além disso, tem latência mínima, 99.95% tempo de atividade e um 14 dias garantia de devolução do dinheiro. Não só isso, mas também está disponível em 12 locais em todo o mundo a um preço acessível.

Três correções mais comuns para fazer o MongoDB funcionar

Não há uma maneira absoluta de reconhecer o problema exato do seu sistema com o MongoDB e de corrigi-lo com uma etapa fácil. Então, aqui estão algumas correções comuns que você pode usar para fazer seu MongoDB começar a funcionar.

  1. Erro de recuo de configuração YAML. Suponha que você editou /etc/mongod.conf verifique novamente o recuo solicitando sudo nano /etc/mongod.conf. O arquivo YAML é bastante sensível a espaços em branco, portanto, certifique-se de que haja apenas dois espaços por nível /etc/mongod.conf.
  2. Porto ocupado 27017. Se outra coisa estiver usando a porta 27017, desligue-a ou altere a porta do MongoDB em mongod.conf. Se você não tiver certeza sobre algo em execução na porta 27017, sinta-se à vontade para executar sudo ss -lntp | grep27017 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, nem é executado. Primeira corrida sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodbe reinicie o MongoDB com sudo systemctl reiniciar mongod

De acordo com Site oficial do MongoDB, uma outra maneira de contornar esse problema é recarregar o daemon com sudo systemctl daemon-reloade execute o primeiro comando, sudo systemctl iniciar mongod, de novo.

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

Com tudo isso dito, você pode verificar se o MongoDB foi iniciado com sucesso com sudo systemctl status mongod. Se o terminal disser ativo (em execução), você está pronto para ir. Mas ainda existem algumas configurações adicionais que tornam sua experiência muito mais tranquila.

Torne o MongoDB automatizadoConfiguração futurista de servidor com símbolo de automação MongoDB + terminal com comando MongoDB + arquivo de log

O MongoDB não abre automaticamente toda vez que você liga o servidor; você terá que repetir algumas das etapas mencionadas a cada vez. Opcionalmente, você pode dizer ao Ubuntu para iniciar o MongoDB após inicializar em sua área de trabalho.

Simplesmente execute sudo systemctl habilitar mongod no seu terminal, que, a partir de agora, dirá ao seu sistema para executar o MongoDB após cada reinicialização. Além disso, você pode reiniciar o mondeus processo emitindo o comando sudo systemctl reiniciar mongod. Além disso, os usuários podem precisar seguir o processo em busca de erros ou mensagens importantes, 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 emitindo o comando mangusto. Pense nisso como um terminal de prompt de comando dedicado para MongoDB ou um console MySQL. Alternativamente, você pode interagir com o MongoDB com ferramentas GUI, como drivers MongoDB. Mas se você quiser interagir com ele a partir do terminal, mangusto é feito para que isso aconteça.

Seu MongoDB agora estará totalmente funcional, mas há algumas etapas adicionais que você deve considerar para torná-lo seguro.

Torne o MongoDB autenticadoProcesso de autenticação MongoDB + símbolo de cadeado + confirmação de autenticação.

O MongoDB, por padrão, não possui proteção por senha porque você já deve ter acesso para criar um usuário. Esta é uma maneira simples de fazer isso acontecer

Crie um usuário administrador

Primeiro, você precisa mudar para o banco de dados administrativo com:

use admin

Em seguida, crie um usuário com db.createUser({…}). Preencha-o com o seu

  • Nome de usuário
  • Senha
  • Papel

Para função, de preferência digite raiz o que significa controle total ou administrador.

Habilitar autenticação

Agora que temos nosso próprio usuário configurado, precisamos editar o /etc/mongod.conf arquivo. Isso ocorre porque este arquivo controla como o MongoDB se comporta. Mas lembre-se que ao editar o arquivo você deve sempre reiniciar o mondeus serviço depois com sudo systemctl reiniciar mongod. O que precisamos mudar aqui é um parâmetro chamado autorização que se parece com isto:

security:

  authorization:

Para concluir o processo de autenticação, basta alterar o valor da autorização assim:

security:

  authorization: enabled

A partir de agora, o MongoDB requer um login, então sua autenticação está finalizada. Vamos agora prosseguir para outra configuração que utiliza totalmente o MongoDB.

Abra seu firewall

Conforme mencionado anteriormente, o MongoDB é executado na porta 27017. Como os firewalls bloqueiam as portas por padrão, você deve informar ao seu firewall para permitir que os aplicativos sejam executados na 27017. Para que isso aconteça, basta emitir o comando:

ufw allow from YOUR_IP to any port 27017

Alternativamente, você também pode emitir o comando ufw permitir 27017, mas tome cuidado, pois executar isso permitirá que toda a Internet acesse essa porta. Pode ser sua aposta mais segura escolher a primeira opção, pois ela permite que o tráfego acesse a porta apenas a partir do seu endereço IP.

Os usuários ainda podem enfrentar desafios ao executar o MongoDB, como o problema de acesso remoto. Fique por aqui para descobrir como consertar isso.

Problema de acesso remotoConfiguração de servidor com 3 monitores definindo configurações de acesso remoto do MongoDB + comandos de terminal.

MongoDB é lançado com vincularIp. vincularIp limita o MongoDB a 127.0.0.1, permitindo apenas conexões locais. Portanto, se você se conectasse ao seu servidor MongoDB de outro lugar, o acesso não seria permitido, pois o MongoDB é configurado por padrão para permitir apenas conexões no local, a menos que seja configurado de outra forma.

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

net:

  port: 27017

  bindIp: 127.0.0.1

Se você quiser permitir conexões remotas ao seu mondeus usuário, altere os valores apresentados acima assim:

net:

  port: 27017

  bindIp: 0.0.0.0

Depois, reinicie o seu mondeus serviço com sudo systemctl reiniciar mongod como acontece com qualquer outra edição que você fizer no arquivo.

Você agora concedeu o seu mondeus permissão de serviço para aceitar conexões remotas. Mas tome cuidado, pois ao fazer isso você exporá seu banco de dados para toda a internet caso ainda não tenha autenticado seu mondeus usuário. Existem muitos bots que procuram constantemente portas abertas do MongoDB, portanto, sempre certifique-se de que seu usuário mongod tenha uma senha.

Resumo geral

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

Comando O que isso faz
atualização adequada Atualizar lista de software
apto instalar Instalar software
enrolar Baixar arquivo
gpg Gerenciar chaves de criptografia
eco Imprimir texto
camiseta Gravar em arquivo protegido
início do systemctl Iniciar serviço
ativar systemctl Comece na inicialização
status do systemctl Verifique o serviço
mangusto Entre no shell do MongoDB
Editar /etc/mongod.conf Habilitar autenticação
ufw Gerenciar firewall
vincularIp Permitir acesso remoto

Isso deve ajudá-lo a entender melhor todo o processo. Mas se configurar o MongoDB por conta própria for demais para você, certifique-se de ativar o Cloudzy's VPS MongoDB para o seu próprio servidor privado Ubuntu 24.04 LTS com MongoDB pré-instalado.

Ele vem com 99.95% tempo de atividade, 24/7 apoio, e um 14 dias garantia de devolução do dinheiro. Além disso, suporta até 40 Gbps de largura de banda graças ao seu RAM DDR5 e SSD NVMe armazenar. Nem se preocupe com onde você mora, porque também está disponível em 12 locais em todo o mundo a um preço acessível.

Mas com tudo isso dito, você finalmente conseguiu configurar seu próprio serviço MongoDB capaz, equipado com todas as configurações para oferecer suporte a cargas de trabalho e negócios em nível de produção.

Compartilhar

Mais do blog

Continue lendo.

Gerenciamento inteligente de dados para sua empresa: estratégias de armazenamento e backup “semelhantes à nuvem” com VPS
Bancos de dados e análises

Gerenciamento inteligente de dados para sua empresa: estratégias de armazenamento e backup “semelhantes à nuvem” com VPS

VPS para gerenciamento seguro de dados corporativos é a estratégia que recomendo sempre que uma empresa decide que é hora de parar de fazer malabarismos com arquivos entre laptops, anexos de e-mail e arquivos meio esquecidos.

Rexa CiroRexa Ciro 7 minutos de leitura
Visão materializada vs. visão
Bancos de dados e análises

Visão materializada vs. visão: entendendo seu papel nos bancos de dados

Em sistemas de banco de dados, uma visão materializada como objeto de banco de dados armazena os resultados pré-computados de uma consulta como uma tabela física. Como os dados são realmente armazenados em disco, complica

Ivy JohnsonIvy Johnson 7 minutos de leitura
SnowFlake x DataBricks
Bancos de dados e análises

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

Para empresas que dependem de dados para tomar decisões, sejam plataformas de comércio eletrônico que rastreiam o comportamento do cliente, instituições financeiras que preveem tendências ou empresas de tecnologia

Allan Van KirkAllan Van Kirk 13 minutos de leitura

Pronto para implantar? A partir de $ 2,48 / mês.

Nuvem independente, desde 2008. AMD EPYC, NVMe, 40 Gbps. Devolução do dinheiro em 14 dias.