Use mongodump e mongorestore para executar uma migração offline completa de um banco de dados MongoDB autogerenciado para uma instância de replica set do ApsaraDB for MongoDB. Essa abordagem exporta um snapshot completo do banco de dados de origem e o restaura no destino — nenhuma sincronização incremental ocorre após a captura do snapshot.
mongodumpemongorestoremigram todos os dados presentes no momento em quemongodumpé executado. Gravações no banco de dados de origem feitas após esse ponto não são migradas. Para migrar com tempo de inatividade mínimo, use o Data Transmission Service (DTS). Para obter mais informações, consulte Migrar dados de um banco de dados MongoDB autogerenciado com arquitetura de replica set para o ApsaraDB for MongoDB usando DTS .
Para uma visão geral de todas as opções de migração e sincronização, consulte Migração e sincronização de dados.
Como funciona
Interrompa as gravações no banco de dados de origem para garantir um snapshot consistente.
Execute
mongodumppara exportar todos os bancos de dados para um diretório de dump local.Configure o acesso de rede entre o servidor de origem e a instância de replica set de destino.
Execute
mongorestorepara importar os arquivos de dump na instância de replica set.Verifique os dados migrados e redirecione sua aplicação para a instância de destino.
Pré-requisitos
Antes de começar, verifique se você tem:
mongodumpemongorestoreinstalados na mesma versão do banco de dados MongoDB autogerenciado. Para instale, consulte Install MongoDB no site do MongoDB.Uma instância de replica set de destino com storage capacity greater than o espaço de armazenamento ocupado pelo banco de dados MongoDB autogerenciado. Para fazer upgrade da instância, consulte Alterar as configurações de uma instância.
Executemongodumpemongorestoreno servidor de origem ou em um servidor separado com acesso de rede à origem — não no mongo shell.
Observações de uso
Interrompa todas as gravações no banco de dados de origem antes de executar
mongodump. Gravações feitas após a conclusão domongodumpnão são migradas.Se você já executou o
mongodumpanteriormente, mova os arquivos de backup do diretório de dump para outro diretório e confirme que o diretório de dump está vazio antes de executá-lo novamente. Caso contrário, os arquivos de backup anteriores serão sobrescritos na próxima execução.
Etapa 1: Fazer backup do banco de dados MongoDB autogerenciado
Execute mongodump no servidor onde o banco de dados MongoDB autogerenciado está hospedado (ou em um servidor separado com acesso de rede à origem):
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>
Substitua os seguintes parâmetros:
|
Parâmetro |
Descrição |
Exemplo |
|
|
Endereço IP ou hostname do servidor de origem |
|
|
|
Porta de serviço do banco de dados MongoDB autogerenciado |
|
|
|
Conta de banco de dados usada para conectar à origem |
|
|
|
Banco de dados de autenticação da conta especificada |
|
Exemplo:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin
Quando o prompt Enter password: for exibido, insira a senha do banco de dados e pressione Enter. A senha é ocultada durante a digitação.
Após a conclusão do mongodump, os arquivos de backup são salvos no diretório dump dentro do diretório de trabalho atual.
Etapa 2: Migrar dados para a instância de replica set
2,1 Obter a string de conexão do nó primário
Obtenha a string de conexão pública ou interna do nó primário na instância de replica set de destino. Para obter mais informações, consulte Visão geral das conexões de instância de replica set.
Para conectar via Internet, solicite um endpoint público primeiro. Para obter mais informações, consulte Solicitar um endpoint público para uma instância do ApsaraDB for MongoDB .
2,2 Adicionar o IP do servidor de origem à lista de permissões
Adicione o endereço IP do servidor de origem à lista de permissões da instância de replica set de destino:
Rede interna: adicione o endereço IP privado da instância do Elastic Compute Service (ECS) onde o banco de dados de origem está hospedado.
Internet: adicione o endereço IP público do servidor de origem.
Para obter mais informações, consulte Configurar uma lista de permissões para uma instância de replica set.
2,3 Restaurar os arquivos de backup na instância de replica set
Execute mongorestore no servidor de origem para importar todos os arquivos de backup na instância de destino:
mongorestore --host <Primary_host> -u <username> --authenticationDatabase <database> <backup_directory>
Substitua os seguintes parâmetros:
|
Parâmetro |
Descrição |
Exemplo |
|
|
String de conexão do nó primário, incluindo a porta |
|
|
|
Conta de banco de dados da instância de destino (conta inicial: |
|
|
|
Banco de dados de autenticação da conta especificada. Para a conta |
|
|
|
Caminho para o diretório de dump criado na Etapa 1 |
|
Exemplo:
mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump
Quando o prompt Enter password: for exibido, insira a senha do banco de dados e pressione Enter. A senha é ocultada durante a digitação.
Verificar a migração
Após a conclusão do mongorestore, confirme que os dados estão presentes e íntegros antes de redirecionar o tráfego.
Redirecionar sua aplicação
Atualize a string de conexão da sua aplicação para apontar para a instância de replica set de destino. Programe a transição durante períodos de baixo tráfego para minimizar o impacto.