Prefácio: Nesta edição, compartilharei com vocês o tutorial completo de instalação e implantação do MongoDB no sistema Linux mais recente. Meu servidor usa Centos7. Antes da implantação, reinstalei meu servidor. O objetivo é mostrar como faço passo a passo. operação passo a passo, a implantação geral é bastante simples, aqui está uma nota para compartilhar!
Outros tutoriais de implantação do Blogger:
1. Jenkins implanta projetos de separação front-end e back-end: O tutorial gráfico mais completo para projetos de separação front-end e back-end de implantação Jenkins (ensino prático)
2. Docker implanta projetos de separação front-end e back-end: implanta projetos de separação front-end e back-end por meio do Docker (teste profissional disponível)
3. Implantação do sistema Linux Tomcat: Tutorial detalhado do Tomcat de implantação do sistema Linux (explicação gráfica)
4. Implantar Nginx no sistema Linux: Tutorial detalhado sobre como implantar o Nginx no sistema Linux (explicação gráfica)
5. Configuração do sistema Linux Maven: Tutorial detalhado do ambiente Maven de configuração do sistema Linux (explicação gráfica)
6. Configuração do sistema Linux Node.js: Tutorial detalhado do ambiente Node.js de configuração do sistema Linux (explicação gráfica)
7. Instalação do sistema Linux e implantação do MySQL: Um tutorial completo sobre instalação do sistema Linux e implantação do MySQL (explicação detalhada com imagens e textos)
8. Instalação do sistema Linux e implantação do Redis: Um tutorial completo sobre instalação do sistema Linux e implantação do Redis (explicação detalhada com imagens e textos)
9. Instalação do sistema Linux e implantação do Jenkins: Tutorial detalhado de instalação do sistema Linux e implantação do Jenkins (explicação gráfica)
10. Projeto de separação front-end de implantação de painel pagode: Ensino prático usando o projeto de separação front-end de implantação de painel pagode (detalhes completos)
Índice
2. Prepare o pacote de instalação do MongoDB
Sexto, configure o usuário administrador
Sete, configure variáveis de ambiente
Oito, configure a cadeia suave
Nove, configure a inicialização para iniciar automaticamente
1. Registro de atropelamento
Erro completo ao iniciar o MongoDB:
2023-08-02T19:30:47.752+0800 I CONTROL [principal] Desativando automaticamente o TLS 1.0, para forçar a habilitação do TLS 1.0, especifique --sslDisabledProtocols 'none' 2023-08-02T19:30:
47.758+0800 W ASIO [principal] Nenhum TransportLayer configurado durante a inicialização do NetworkInterface
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] MongoDB iniciando: pid=32625 port=27017 dbpath=/usr/local/mongoDB/mongoDBServer/data 64-bit host=ecs- 132947
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] versão db v4.2.24 2023-08-02T19
:30:47.758+0800 I CONTROL [initandlisten] versão git: 5e4ec1d24431fcdd28b579a0 24c5c801b8cde4e2
2023-08-02T19:30: 47.758+0800 I CONTROL [initandlisten] Versão OpenSSL: OpenSSL 1.0.1e-fips 11 de fevereiro de 2013
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] alocador: tcmalloc
2023-08-02T19:30:47.758+0800 I CONTROL [initandlisten] módulos: nenhum 2023-08-02T19:30:47.758
+0800 I CONTROL [InitandListen] Build Ambiente: 2023-08-02T19: 30: 47.758+0800 I Control [InitandListen] Distmod
: RHEL70 2023-08-02T19: 30: 47.758+0800 I Control [Initandlisten] Distarch: X864 : :30:47.758+0800 Eu CONTROLO [initandlisten] target_arch: x86_64
759+0800 I STORAGE [initandlisten] ** arquivo de configuração ou como opção de linha de comando. Suporte para MMAPV1
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] ** o mecanismo de armazenamento foi descontinuado e será removido em
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] ** versão 4.2. Consulte as notas de versão do MongoDB 4.0 - Manual do MongoDB
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten]
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] exceção em initAndListen: Location18656: Não é possível iniciar o servidor com um mecanismo de armazenamento desconhecido: mmapv1, encerrando
2023-08-02T19:30:47.759+0800 I REPL [initandlisten] Desativando o ReplicationCoordinator para desligamento, waitTime: 10000ms
2023-08-02T19:30:47.759+0800 I SHARDING [initandlisten ] Desligando o WaitForMajorityService
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] desligamento: fechando os soquetes de escuta...
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] Desligando o pool de conexão global
2023- 08-02T19:30:47.759+0800 I STORAGE [initandlisten] Desligando o FlowControlTicketholder
2023-08-02T19:30:47.759+0800 I - [initandlisten] Interrompendo novas aquisições de tickets do Flow Control.
2023-08-02T19:30:47.759+0800 I INDEX [initandlisten] Desligando o IndexBuildsCoordinator
2023-08-02T19:30:47.759+0800 I NETWORK [initandlisten] Desligando o ReplicaSetMonitor
2023-08-02T19:30 :47.759+ 0800 I CONTROL [initandlisten] Desligando o monitoramento gratuito
2023-08-02T19:30:47.759+0800 I FTDC [initandlisten] Desligando a captura de dados em tempo integral
2023-08-02T19:30:47.759+0800 I STORAGE [initandlisten] Desligando o HealthLog
2023-08-02T19:30 :47.759+0800 I - [initandlisten] Descartando o cache do escopo para desligamento
2023-08-02T19:30:47.759+0800 I CONTROL [initandlisten] agora saindo
2023-08-02T19:30:47.759+0800 I CONTROL [initandlisten] fechando abaixo com o código: 100
Isso ocorre porque o MongoDB usava o mecanismo de armazenamento MMAPV1 antes da versão 3.2
1. Antes da versão 3.0 (2015), o MongoDB suportava apenas o mecanismo de armazenamento MMAPv1.
2. Na versão 3.2 (2016), um novo mecanismo de armazenamento WiredTiger foi introduzido, mas o MMAPv1 ainda é o mecanismo de armazenamento padrão.
3. Na versão 3.4 (2017), o WiredTiger foi oficialmente usado como mecanismo de armazenamento padrão.
4. Na versão 4.0 (2018), o suporte ao mecanismo de armazenamento MMAPv1 foi completamente removido.
Modifique o arquivo mongodb.conf para o código a seguir
storageEngine=wiredTiger
2. Prepare o pacote de instalação do MongoDB
Este é o endereço oficial de download do site: Baixar MongoDB Community Server | MongoDB
A versão que escolhi aqui é a 4.2.24, a plataforma escolhe CentOS7, o formato do pacote compactado escolhe o formato tgz e por fim clique em Download.
3. Instale o MongoDB
1. Digite o diretório especificado
cd /usr/local
2. Crie uma nova pasta para armazenar o pacote de instalação do MongoDB
mkdir mongoDB
3. Carregue o pacote compactado baixado para esta pasta (Xftp)
4. Vá para o diretório recém-criado
cd mongoDB
5. Descompacte o pacote compactado
tar -zxvf mongodb-linux-x86_64-rhel70-4.2.24.tgz
6. Renomeie a pasta
mv mongodb-linux-x86_64-rhel70-4.2.24 mongoDBServer
Mesmo que esteja instalado.
4. Configurar o MongoDB
1. Entre na pasta renomeada
cd mongoDBServer
2. Crie três pastas para armazenar dados, logs e configuração respectivamente
mkdir data
mkdir log
mkdir etc
3. Entre na pasta etc
cd etc
4. Crie o arquivo de configuração mongodb.conf
vim mongodb.conf
5. Copie o seguinte código:
Nota: dbpath e logpath precisam ser substituídos pelo seu próprio caminho. Ao copiar, dbpath pode mudar repentinamente para th. Lembre-se de verificar se há um erro de cópia!
dbpath=/usr/local/mongoDB/mongoDBServer/data
logpath=/usr/local/mongoDB/mongoDBServer/log/mongodb.log
logappend=true
quiet=true
port=27017
fork=true
auth=false
journal=true
bind_ip=0.0.0.0
storageEngine=wiredTiger
Detalhes do comando:
parâmetro | explicar |
---|---|
dbpath=/usr/local/mongoDB/mongoDBServer/data | Isso especifica o caminho onde os arquivos de dados do MongoDB são armazenados e o MongoDB armazena os arquivos de dados no diretório dbpath. |
logpath=/usr/local/mongoDB/mongoDBServer/log/mongodb.log | Isso especifica o caminho do arquivo de log do MongoDB. |
logappend = verdadeiro | Se for definido como verdadeiro, o log será anexado ao arquivo de log; o padrão é verdadeiro. |
quieto = verdadeiro | Se esta configuração for verdadeira, algumas informações de log inúteis poderão ser filtradas, como as informações de cada conexão. |
porta=27017 | Isto é para especificar a porta que o MongoDB escuta, o padrão é 27017. |
garfo = verdadeiro | Se for definido como verdadeiro, o MongoDB será executado como um processo daemon. |
autenticação=falso | Isto é, se a autenticação é necessária. Por padrão, ele pode ser acessado sem autenticação. |
diário = verdadeiro | Isso serve para definir se a função de log deve ser ativada. O padrão é verdadeiro. A ativação do diário pode melhorar a segurança dos dados. |
bind_ip=0.0.0.0 | Isso serve para definir o IP que pode ser monitorado e acessado. 0.0.0.0 significa que as solicitações de IP de todas as interfaces de rede podem ser monitoradas. |
storageEngine=wiredTiger | Isso especifica o mecanismo de armazenamento, o padrão é wiredTiger. |
6. Pressione a tecla Esc para sair do modo de edição, digite: wq para salvar e sair do editor vim
5. Inicie o MongoDB
1. Entre no diretório bin do MongoDB
2. Inicie o MongoDB
Nota: O caminho precisa ser substituído pelo seu próprio!
./mongod --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.conf
Comece com sucesso!
Sexto, configure o usuário administrador
1. Entre no MongoDB
./mongo
2. Use privilégios de administrador
use admin
3. Crie um usuário
Nome de usuário: htt
A senha é: 123456
db.createUser( {user: "htt",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
4. Veja os usuários existentes
show users
5. Feche o serviço MongoDB
db.shutdownServer()
6. Saia sem fechar o serviço ( execute este comando, pois este serviço será utilizado abaixo )
exit
Sete, configure variáveis de ambiente
1. Edite o arquivo de perfil
vim /etc/profile
2. Pressione i para entrar no modo de edição
3. Mude para seu próprio caminho de instalação
export PATH=$PATH:/usr/local/mongoDB/mongoDBServer/bin
4. Pressione a tecla Esc para sair do modo de edição, digite: wq para salvar e sair do editor vim
5. Deixe o arquivo de configuração entrar em vigor
source /etc/profile
6. Verifique as informações básicas do mongoDB
mongo --version
Desta forma, a configuração foi bem-sucedida!
Oito, configure a cadeia suave
1. Faça um link suave do caminho mongo para o caminho /usr/bin para facilitar a execução de comandos mongo em qualquer lugar
ln -s /usr/local/mongoDB/mongoDBServer/bin/mongo /usr/bin/mongo
2. Entre no MongoDB ( a premissa é que o serviço MongoDB deve ser iniciado, se db.shutdownServer() for executado, ele não poderá entrar )
mongo
Desta forma, mesmo que a configuração do soft link seja bem-sucedida, vamos tentar fazer o login com as informações do usuário recém-configuradas!
3. Use privilégios de administrador
use admin
4. Use o nome de usuário e a senha que você acabou de criar para verificar
db.auth('htt','123456')
Retornar 1 significa sucesso!
5. Sair
exit
Nove, configure a inicialização para iniciar automaticamente
1. Crie o arquivo de serviço mongodb.service
vim /lib/systemd/system/mongodb.service
2. Escreva o seguinte conteúdo
Nota: ExecStart e ExecStop devem ser substituídos pelo seu próprio caminho de instalação, também tome cuidado para não cometer erros na cópia, a primeira cópia pode mudar [Unit] para t], verifique você mesmo!
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongoDB/mongoDBServer/bin/mongod --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongoDB/mongoDBServer/bin/mongod --shutdown --config /usr/local/mongoDB/mongoDBServer/etc/mongodb.confPrivateTmp=true
[Install]
WantedBy=multi-user.target
Detalhes do comando:
parâmetro | explicar |
---|---|
Descrição | Descreva o nome e a função desta unidade de serviço para administração do sistema. |
Depois | Define que o serviço inicia após o destino da rede (network.target) ser iniciado. |
Tipo = bifurcação | Indica que este serviço irá bifurcar o processo e o systemd precisa monitorar seu processo principal. |
ExecStart | O comando executado quando o serviço é iniciado, aqui é para iniciar o mongod. |
ExecReload | O comando para enviar um sinal quando o serviço estiver sobrecarregado, aqui envia o sinal HUP para sobrecarregar a configuração. |
ExecStop | O comando executado quando o serviço é interrompido, aqui está o desligamento normal do mongod. |
PrivadoTmp | Atribua um espaço temporário separado ao serviço, que pode ser omitido. |
Procurado por | Especifica a qual destino este serviço pertence, neste caso um destino multiusuário. |
3. Pressione a tecla Esc para sair do modo de edição, digite: wq para salvar e sair do editor vim
4. Recarregue a configuração
systemctl daemon-reload
5. Digite o diretório criado
cd /lib/systemd/system/
6. Conceda permissões
chmod 755 mongodb.service
7. Configure a inicialização para iniciar automaticamente
systemctl enable mongodb.service
Neste ponto, mesmo que esteja ok, a seguir estão os 2 comandos complementares.
8. Inicie o serviço ( aqui nosso serviço já foi iniciado e não há necessidade de iniciá-lo novamente )
systemctl start mongodb.service
9. Feche o serviço
systemctl stop mongodb.service
10. Após reiniciar o servidor, digite o seguinte comando (o soft link configurado acima é o benefício)
mongo
Você Terminou!
10. Resumo
O texto acima é meu tutorial completo sobre como instalar e implantar o banco de dados MongoDB usando Linux. Se você tiver alguma dúvida, seja bem-vindo para discutir na área de comentários!