# Guia Completo: Instalação do MongoDB no Ubuntu – Passo a Passo.
O MongoDB é um banco de dados NoSQL poderoso, ideal para aplicações que exigem flexibilidade e escalabilidade. Este guia detalhado cobre a instalação do MongoDB Community Edition (versão 8.0) no Ubuntu (versões 20.04, 22.04 ou 24.04). Cada passo é explicado minuciosamente, com verificações, opções de configuração e dicas para solução de problemas, garantindo uma instalação bem-sucedida mesmo para iniciantes.
## Por que Instalar o MongoDB ?
– Armazena dados em documentos JSON-like, permitindo esquemas dinâmicos.
– Suporta grandes volumes de dados, ideal para e-commerce, IoT e mais.
– A Community Edition é gratuita, perfeita para aprendizado e projetos.
## Pré-requisitos
– **Sistema operacional**: Ubuntu 20.04 (Focal), 22.04 (Jammy) ou 24.04 (Noble) (64-bit).
– **Recursos**:
– Mínimo de 2GB de RAM livre.
– 10GB de espaço em disco para dados e logs.
– **Permissões**: Acesso de superusuário (sudo).
– **Conexão com a internet**: Para baixar pacotes.
– **Ferramentas**: Terminal e acesso ao [MongoDB Download Center](https://www.mongodb.com/try/download/community?tck=docs_server).
—
## Passo a Passo para Instalação no Ubuntu
### Passo 1: Verifique a Versão do Ubuntu
1. Abra o Terminal (`Ctrl + Alt + T`).
2. Execute:
“`bash
lsb_release -a
“`
3. Anote a versão (ex.: 20.04, 22.04 ou 24.04), pois ela determina o repositório correto.
### Passo 2: Instale os Pré-requisitos
1. Instale `gnupg` e `curl`, necessários para adicionar o repositório:
“`bash
sudo apt-get update
sudo apt-get install -y gnupg curl
“`
2. Verifique se os pacotes foram instalados:
“`bash
curl –version
gpg –version
“`
### Passo 3: Importe a Chave GPG do MongoDB
1. Baixe e importe a chave pública para autenticar os pacotes:
“`bash
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg –dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg
“`
2. Verifique se a chave foi adicionada:
“`bash
ls /usr/share/keyrings/mongodb-server-8.0.gpg
“`
– Se o arquivo aparecer, a chave foi importada com sucesso.
### Passo 4: Adicione o Repositório do MongoDB
1. Crie um arquivo de lista para o repositório, correspondente à sua versão do Ubuntu:
– **Ubuntu 24.04 (Noble)**:
“`bash
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
“`
– **Ubuntu 22.04 (Jammy)**:
“`bash
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
“`
– **Ubuntu 20.04 (Focal)**:
“`bash
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
“`
2. Verifique se o arquivo foi criado:
“`bash
cat /etc/apt/sources.list.d/mongodb-org-8.0.list
“`
### Passo 5: Atualize o Banco de Pacotes
1. Atualize a lista de pacotes para incluir o repositório do MongoDB:
“`bash
sudo apt-get update
“`
2. Se houver erros (ex.: “repository not signed”), verifique a chave GPG e o arquivo de lista.
### Passo 6: Instale o MongoDB
1. Instale a versão mais recente do MongoDB Community Edition:
“`bash
sudo apt-get install -y mongodb-org
“`
– Isso instala os pacotes: `mongodb-org-server`, `mongodb-org-mongos`, `mongodb-org-shell`, `mongodb-org-tools`, `mongodb-mongosh`, etc.
2. **Opcional**: Para instalar uma versão específica (ex.: 8.0.6):
“`bash
sudo apt-get install -y mongodb-org=8.0.6 mongodb-org-database=8.0.6 mongodb-org-server=8.0.6 mongodb-mongosh mongodb-org-shell=8.0.6 mongodb-org-mongos=8.0.6 mongodb-org-tools=8.0.6 mongodb-org-database-tools-extra=8.0.6
“`
3. **Opcional**: Bloqueie atualizações automáticas para manter a versão instalada:
“`bash
echo “mongodb-org hold” | sudo dpkg –set-selections
echo “mongodb-org-database hold” | sudo dpkg –set-selections
echo “mongodb-org-server hold” | sudo dpkg –set-selections
echo “mongodb-mongosh hold” | sudo dpkg –set-selections
echo “mongodb-org-shell hold” | sudo dpkg –set-selections
echo “mongodb-org-mongos hold” | sudo dpkg –set-selections
echo “mongodb-org-tools hold” | sudo dpkg –set-selections
echo “mongodb-org-database-tools-extra hold” | sudo dpkg –set-selections
“`
### Passo 7: Inicie o MongoDB
1. Verifique o sistema de inicialização:
“`bash
ps –no-headers -o comm 1
“`
– A saída será `systemd` (padrão em Ubuntu moderno) ou `init` (versões mais antigas).
2. **Se for `systemd`**:
– Inicie o serviço:
“`bash
sudo systemctl start mongod
“`
– Verifique o status:
“`bash
sudo systemctl status mongod
“`
– Procure por “active (running)” no output.
– Habilite o MongoDB para iniciar automaticamente na inicialização:
“`bash
sudo systemctl enable mongod
“`
– Comandos úteis:
– Parar: `sudo systemctl stop mongod`
– Reiniciar: `sudo systemctl restart mongod`
3. **Se for `init`**:
– Inicie o serviço:
“`bash
sudo service mongod start
“`
– Verifique o status:
“`bash
sudo service mongod status
“`
– Comandos úteis:
– Parar: `sudo service mongod stop`
– Reiniciar: `sudo service mongod restart`
### Passo 8: Verifique a Instalação
1. Confirme a versão do MongoDB:
“`bash
mongod –version
“`
– A saída deve mostrar a versão instalada (ex.: 8.0.x).
2. Verifique se o servidor está rodando:
“`bash
ps aux | grep -v grep | grep mongod
“`
– Deve listar o processo `mongod`.
3. Consulte os logs para confirmar que o servidor está aguardando conexões:
“`bash
sudo cat /var/log/mongodb/mongod.log | grep “waiting for connections”
“`
– Procure por uma linha como: “waiting for connections on port 27017”.
### Passo 9: Conecte-se ao MongoDB
1. Inicie o MongoDB Shell (`mongosh`):
“`bash
mongosh
“`
2. Se o shell abrir com um prompt, você está conectado. Teste com:
“`javascript
db.version()
“`
– Deve retornar a versão do servidor (ex.: 8.0.x).
3. Execute um comando simples para testar:
“`javascript
use test
db.testCollection.insertOne({ name: “Teste” })
db.testCollection.find()
“`
### Passo 10: Configuração Pós-Instalação
1. **Arquivo de configuração**: Localizado em `/etc/mongod.conf`.
– Para editar:
“`bash
sudo nano /etc/mongod.conf
“`
– Ajuste configurações como:
– `bindIp`: Endereço para conexões (padrão: `127.0.0.1`).
– `port`: Porta padrão (27017).
– `dbPath`: Diretório de dados (padrão: `/var/lib/mongodb`).
– Após editar, reinicie o serviço:
“`bash
sudo systemctl restart mongod
“`
2. **Habilite autenticação** (recomendado para segurança):
– No `mongosh`, crie um usuário administrador:
“`javascript
use admin
db.createUser({
user: “admin”,
pwd: “sua_senha_segura”,
roles: [ { role: “root”, db: “admin” } ]
})
“`
– Edite `/etc/mongod.conf` para habilitar autenticação:
“`yaml
security:
authorization: “enabled”
“`
– Reinicie o serviço:
“`bash
sudo systemctl restart mongod
“`
– Conecte-se com autenticação:
“`bash
mongosh -u admin -p sua_senha_segura –authenticationDatabase admin
“`
3. **Verifique permissões dos diretórios**:
– O diretório de dados (`/var/lib/mongodb`) e logs (`/var/log/mongodb`) devem pertencer ao usuário `mongodb`:
“`bash
sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
“`
### Passo 11: Solução de Problemas
– **Erro “GPG key not found”**:
– Verifique a URL da chave GPG e tente novamente.
– Limpe o cache do apt:
“`bash
sudo apt-get clean
sudo apt-get update
“`
– **Erro “repository not found”**:
– Confirme que o arquivo `/etc/apt/sources.list.d/mongodb-org-8.0.list` está correto para sua versão do Ubuntu.
– Teste a conectividade:
“`bash
ping repo.mongodb.org
“`
– **Serviço não inicia**:
– Verifique os logs:
“`bash
sudo cat /var/log/mongodb/mongod.log
“`
– Possíveis causas:
– Permissões incorretas em `/var/lib/mongodb` ou `/var/log/mongodb`.
– Porta 27017 em uso:
“`bash
sudo netstat -tulnp | grep 27017
“`
– Mate o processo em conflito ou altere a porta em `/etc/mongod.conf`.
– Corrija permissões:
“`bash
sudo chown -R mongodb:mongodb /var/lib/mongodb /var/log/mongodb
“`
– **Erro de conexão no `mongosh`**:
– Confirme que o serviço está rodando:
“`bash
sudo systemctl status mongod
“`
– Teste a conexão local:
“`bash
nc -zv 127.0.0.1 27017
“`
### Passo 12: Desinstalação (Se Necessário)
1. Pare o serviço:
“`bash
sudo systemctl stop mongod
“`
2. Remova os pacotes:
“`bash
sudo apt-get purge mongodb-org*
“`
3. Remova diretórios de dados e logs:
“`bash
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
“`
4. Remova o arquivo de repositório:
“`bash
sudo rm /etc/apt/sources.list.d/mongodb-org-8.0.list
“`
—
## Resumo dos Comandos
| Passo | Ação | Comando |
|——-|——|———|
| 1 | Verificar versão do Ubuntu | `lsb_release -a` |
| 2 | Instalar pré-requisitos | `sudo apt-get install -y gnupg curl` |
| 3 | Importar chave GPG | `curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | sudo gpg –dearmor -o /usr/share/keyrings/mongodb-server-8.0.gpg` |
| 4 | Adicionar repositório | `echo “deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu <release>/mongodb-org/8.0 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list` |
| 5 | Atualizar pacotes | `sudo apt-get update` |
| 6 | Instalar MongoDB | `sudo apt-get install -y mongodb-org` |
| 7 | Iniciar serviço | `sudo systemctl start mongod` |
| 8 | Verificar versão | `mongod –version` |
| 9 | Conectar ao MongoDB | `mongosh` |
| 10 | Habilitar autenticação | `db.createUser({ user: “admin”, pwd: “sua_senha”, roles: [“root”] })` |
—
## Próximos Passos
– **Explorar o MongoDB**:
– Insira e consulte dados:
“`javascript
use mydb
db.mycollection.insertOne({ name: “Exemplo”, value: 123 })
db.mycollection.find()
“`
– **Integração**:
– Use drivers para Node.js, Python, Java, etc. Veja [MongoDB Drivers](https://api.mongodb.com/).
– **Recursos**:
– [Documentação Oficial](https://www.mongodb.com/docs/manual/).
– [Tutorial de Introdução](https://www.mongodb.com/docs/manual/tutorial/getting-started/).
– **Segurança**:
– Configure `bindIp` em `/etc/mongod.conf` para limitar conexões.
– Consulte a [Lista de Verificação de Segurança](https://www.mongodb.com/docs/manual/administration/security-checklist/).
– **Produção**:
– Ajuste `ulimit` para desempenho (>64000 arquivos abertos). Veja [Notas de Produção](https://www.mongodb.com/docs/manual/administration/production-notes/).
– Configure backups regulares.
—
## Conclusão
Com este guia, você instalou o MongoDB no Ubuntu, configurou o serviço e testou a conexão. Os passos foram projetados para serem claros, com verificações e soluções de problemas para garantir o sucesso. Agora, explore as possibilidades do MongoDB em seus projetos!
🚀 Compartilhe suas dúvidas ou experiências com o MongoDB nos comentários! #MongoDB #NoSQL #Ubuntu #Desenvolvimento