Como fazer um backup e migrar um banco de dados MongoDB

A migração de banco de dados é algo que todo administrador de sistema terá que fazer em algum momento. Felizmente, o MongoDB fornece comandos integrados para criar e restaurar backups, facilitando a migração para um novo servidor.

índice

  1. Usando mongodump para criar um backup
  2. Reinstalar a partir do backup
  3. Transferência completa de disco (opcional)

Usando mongodump para criar um backup

mongodump é um comando simples que criará um arquivo de backup de um banco de dados e suas coleções a partir das quais você poderá restaurar. Isso exigirá um período de inatividade enquanto o backup é executado e o novo servidor é iniciado.

Se você não quiser tempo de inatividade, poderá realizar uma migração de cluster adicionando um novo nó ao cluster, definindo-o como a fonte de gravação primária e, em seguida, trocando a quente o novo nó. Isso é muito mais fácil se você estiver usando o MongoDB Atlas, seu serviço de banco de dados gerenciado.

mongodump é muito mais simples. Você deve criar um diretório para os backups:

 sudo mkdir /var/backups/mongobackups

E, em seguida, execute mongodump , passando-o em um parâmetro de banco de dados e um local de saída:

 sudo mongodump --db databasename --out /var/backups/mongobackups/backup

Você também pode despejar manualmente coleções específicas com o arquivo de sinalização --collection .

O Mongodump pode ser executado em um banco de dados ativo e leva apenas alguns segundos para criar o backup. No entanto, quaisquer gravações no banco de dados serão perdidas, pois você está movendo servidores. Por esse motivo, recomendamos que você desative o tráfego antes de criar o dump.

Reinstalar a partir do backup

Você precisará transferir o arquivo de backup do servidor antigo para o novo. Isso pode ser feito baixando-o via FTP e enviando-o para o novo servidor, mas para backups grandes é melhor fazer uma conexão direta e transferi-lo usando scp .

Você pode usar o seguinte comando, substituindo nomes de usuários e nomes de host por valores para os servidores.

 scp [email protegido] _HOST:/var/backups/mongobackups/FILENAME [email protegido] _HOST:~/FILENAME

Depois de ter o backup no novo servidor, você pode carregá-lo a partir do backup. Claro que você precisará instalar o MongoDB no novo servidor.

Para fazer isso, você pode usar o comando mongorestore :

 mongorestore <options> <connection-string> <arquivo para restaurar>

Você deve ver imediatamente a nova tabela disponível no novo banco de dados.

Depois de verificar que tudo foi transferido corretamente, você precisará mudar o tráfego para o novo servidor, provavelmente atualizando seus registros DNS. Se você estiver usando a AWS ou um provedor semelhante com endereços IP elásticos, poderá trocar o endereço para apontar para o novo servidor, o que não exigirá uma atualização de DNS.

Transferência completa de disco (opcional)

Opcionalmente, se você estiver migrando para um servidor mais poderoso, poderá transferir para toda a unidade de inicialização, que deverá copiar o banco de dados junto com o restante da configuração do servidor.

Nesse caso, recomendamos que você use o comando rsync file para carregar dados diretamente no servidor de destino. o rsync se conectará via SSH e sincronizará as duas pastas; neste caso, queremos enviar a pasta local para o servidor remoto:

 sudo rsync -azAP / --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/* ","/media/*","/lost+found"} [email protegido] _host:/

Este é o comando completo. Você deverá ver uma barra de progresso à medida que a transferência for concluída (usando compactação com o sinalizador -z ) e, no final, você deverá ver os arquivos na pasta de destino no novo servidor. Pode ser necessário executá-lo várias vezes para copiar cada pasta; você pode usar este gerador de comandos rsync online para gerar o comando para cada execução.

  • Qual a importância da unidade de fonte de alimentação (PSU) ao construir um PC?
  • Como adicionar complicações ao mostrador do relógio no Apple Watch

descubra mais conteúdo

Google Pixel Watch também tem detecção de queda, mas não até o próximo ano

As melhores xícaras de café aquecidas de 2022

Como automatizar seu iPhone com base na hora, atividade ou localização

"Isso deve ter sido antes do meu tempo"

Por que a NASA enviou Snoopy para a Lua? – Revisão geek

O que é uma carga fantasma?

Deixe uma resposta Cancelar resposta

Ir arriba