Como instalar o MongoDB no Ubuntu/Linux?
O objetivo deste guia é explicar como instalar o MongoDB no Ubuntu e no Linux . As instruções passo a passo para instalar o mongodb no Windows e Mac OS podem ser encontradas aqui.
O MongoDB é um banco de dados NoSQL orientado a documentos amplamente usado para criar aplicativos rápidos e escaláveis que lidam com grandes quantidades de dados.
Os documentos no MongoDB são armazenados no formato JSON em vez de tabelas tradicionais em bancos de dados relacionais.
O formato JSON encapsula dados em pares chave-valor com dois-pontos separando os nomes dos campos dos valores.
O esquema flexível do MongoDB o torna a escolha ideal para desenvolvedores que criam aplicativos rápidos e altamente escaláveis, capazes de gerenciar grandes volumes de dados.
Instale o MongoDB no Ubuntu/Linux
Passo 1: Instale o MongoDB
- Durante a instalação, os pacotes de pré-requisito devem ser instalados primeiro. Execute o seguinte comando para fazer isso.
sudo apt install -y software-properties-common gnupg apt-transport-https ca-certificates
- O MongoDB pode ser instalado através do gerenciador de pacotes APT usando os repositórios oficiais do Ubuntu da seguinte forma quando você estiver prestes a instalar o MongoDB no Ubuntu :
sudo apt install -y mongodb
Os repositórios não fornecem a versão mais recente do MongoDB. No Ubuntu, você deve adicionar o repositório do pacote MongoDB ao seu arquivo de lista de fontes para instalar o pacote MongoDB mais recente.
- Usando o comando wget, você precisa importar a chave pública do MongoDB em seu sistema:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
- A saída a seguir indica que a chave pública foi adicionada pelo comando acima:
OK
- Adicione o repositório APT do MongoDB em /etc/apt/sources.list.d.
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
No diretório /etc/apt/sources.list.d/, o arquivo mongodb-org-6.0.list é adicionado. A seguinte linha aparece neste arquivo:
deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse
- Recarregue o índice de pacote local após adicionar o repositório.
sudo apt update
Com o comando acima, o Ubuntu aprende sobre o repositório MongoDB recém-adicionado e atualiza os repositórios locais.
- Em seguida, instale o metapacote mongodb-org que fornece o MongoDB.
sudo apt install -y mongodb-org
- Você pode verificar a versão do MongoDB instalada após a conclusão da instalação verificando o seguinte:
mongod --version
A versão do MongoDB, a versão do Git e outros detalhes são exibidos na saída do comando.
Passo 2: Habilitar/Iniciar o MongoDB
- Quando o MongoDB é instalado, ele é desabilitado por padrão. Execute o seguinte comando para verificar quando você está prestes a instalar o MongoDB no Ubuntu :
sudo systemctl status mongod
- Inicie o serviço MongoDB executando o seguinte comando:
sudo systemctl start mongod
- Verifique o status do serviço mais uma vez:
sudo systemctl status mongod
Você pode ver na saída acima que o MongoDB está funcionando. Conecte-se ao servidor de banco de dados e execute um comando de diagnóstico para confirmar que o banco de dados está funcionando quando você está prestes a instalar o MongoDB no Ubuntu.
.
- Conectar-se ao banco de dados e exibir a URL do servidor e a porta do MongoDB é mostrado no comando abaixo.
mongo --eval 'db.runCommand({ connectionStatus: 1 })'
O comando também retorna o valor interno connectionStatus do MongoDB :
“ ok ” indica que o servidor de banco de dados está funcionando conforme o esperado. A porta padrão do MongoDB é 27017 e a URL do servidor é 127.0.0.1, que é o endereço do host local.
- A porta padrão também pode ser verificada da seguinte forma:
sudo ss -pnltu | grep 27017
- O MongoDB agora pode ser ativado para iniciar na inicialização assim que o serviço for verificado como funcionando conforme o esperado.
sudo systemctl enable mongod
A instalação e configuração do MongoDB para iniciar automaticamente na inicialização tem corrido bem até agora.
Etapa 3: criar um banco de dados e um usuário
Sua instância do MongoDB deve estar em execução e configurada para acesso remoto neste momento. Agora vamos criar um banco de dados e um usuário no MongoDB.
- Execute o seguinte comando para acessar o MongoDB quando estiver prestes a instalar o MongoDB no Ubuntu :
mongosh
Você verá algumas informações sobre o MongoDB antes de entrar no shell do MongoDB, como a versão do MongoDB e o shell do MongoDB.
Um aviso de controle de acesso aparece logo acima do prompt do shell do Mongo, informando que os dados e a configuração não podem ser acessados porque o controle de acesso não está ativado. Até o momento, a autenticação não foi habilitada.
Assim que a autenticação for ativada, esse aviso desaparecerá. O processo de instalação cria três bancos de dados por padrão. Eles são admin , config e local .
- Execute o seguinte comando para listar os bancos de dados existentes quando estiver prestes a instalar o MongoDB no Ubuntu :
> show dbs
Crie um banco de dados usando o comando use. Execute o seguinte comando para criar um banco de dados chamado firmas:
> use employees
- O comando db pode ser usado para verificar em qual banco de dados você está.
> db
Quando falamos sobre instalar o MongoDB no Ubuntu, o MongoDB fornece métodos de shell para gerenciar bancos de dados. Você pode criar um novo usuário em um banco de dados com db.createUser.
Nomes de usuário e senhas, bem como funções que você deseja conceder ao usuário, são necessários para este método. O formato JSON é usado para apresentar essas informações.
- A sintaxe a seguir pode ser usada para criar um usuário com privilégios de leitura e gravação no banco de dados da empresa chamado elonmusk.
db.createUser(
{
user: "elonmusk",
pwd: "some_password",
roles: [ { role: "readWrite", db: "firms" } ]
}
)
- Db.getUsers() pode ser usado para listar os usuários criados.
db.getUsers(); #or > show users
Saída:
[
{
_id: 'firms.elonmusk',
userId: UUID("lcde5d61-fbba-6c84-806e-6a3c25709f02"),
user: 'elonmusk',
db: 'firms',
roles: [ { role: 'readWrite', db: 'firms' } ],
mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
}
]
Use o método db.dropUser para excluir o usuário.
db.dropUser("firms", {w: "majority", wtimeout: 4000})
Saída:
{ ok: 1 }
Etapa 4: proteger o MongoDB
Um banco de dados MongoDB não permite autenticação por padrão, o que implica que qualquer usuário com acesso ao servidor pode visualizar, adicionar ou excluir dados sem receber permissões.
A vulnerabilidade pode levar a uma violação grave de seus dados. Demonstraremos como o MongoDB pode ser protegido à luz disso.
- Acesse o Mongo Shell para criar um usuário administrativo quando estiver prestes a instalar o MongoDB no Ubuntu .
mongosh
- Conecte-se ou alterne para o banco de dados do administrador em seguida.
> use admin
- Cole as linhas abaixo e pressione ENTER para criar o usuário do banco de dados.
db.createUser(
{
user: "Adminelonmusk",
pwd: passwordPrompt(),
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)
Adminelonmusk é um usuário criado pelo usuário da linha: “ Adminelonmusk “.
A senha do usuário administrativo é solicitada quando você chama o método pwd: passwordPrompt() . É uma opção mais segura do que digitar a senha em texto não criptografado no campo pwd: quando você está prestes a instalar o MongoDB no Ubuntu.
.
As funções: [ { role: “userAdminAnyDatabase”, db: “admin” }, “readWriteAnyDatabase” ] especifica as funções administrativas. Uma permissão de leitura/gravação é concedida ao usuário Administrativo para o banco de dados administrativo quando a cidade chega.
- Use o comando exit ou CTRL + C para sair do Mongo Shell.
- A próxima etapa é habilitar a autenticação assim que o usuário Admin for criado. Abra mongod.conf para fazer isso.
sudo nano /etc/mongod.conf
- Localize a seção de segurança. Certifique-se de que está habilitado descomentando-o e adicionando a diretiva de autorização.
security:
authorization: enabled
- Salve suas alterações e saia do arquivo de configuração. É necessário reiniciar o serviço Mongo para que as alterações entrem em vigor.
sudo systemctl restart mongod
- Faça login novamente no Mongo Shell quando estiver prestes a instalar o MongoDB no Ubuntu .
mongosh
Você não verá mais o aviso.
- No entanto, você receberá uma mensagem de erro se tentar executar qualquer tarefa relacionada ao banco de dados, como visualizar bancos de dados.
> show dbs
- A execução de exit fará seu logout do Mongo Shell antes que você possa efetuar login com autenticação. A seguir está a sintaxe para efetuar login como usuário administrativo.
mongosh "mongodb://adminuser@mongo-ip-address:27017"
Os dados podem ser acessados, criados e modificados no banco de dados apenas pelo usuário administrativo a partir de agora.
Há um aumento constante na popularidade do MongoDB , um banco de dados NoSQL poderoso e flexível. Dados não estruturados estão entre os tipos mais comuns de dados que serão armazenados nesse banco de dados. Agora você sabe como instalar o mongodb no Ubuntu e em outras distribuições do Linux.