Migre um banco de dados MongoDB autogerenciado de um servidor local ou de uma instância ECS para uma instância standalone do ApsaraDB for MongoDB com mongodump e mongorestore.
Para migrações sem tempo de inatividade, use o Data Transmission Service (DTS). Para mais informações, consulte Full migration from ApsaraDB for MongoDB (standalone architecture) to ApsaraDB for MongoDB (all architectures).
Para outros cenários de migração ou sincronização, consulte Data migration and synchronization.
Pré-requisitos
-
As versões das ferramentas
mongodumpemongorestoredevem corresponder à versão do seu banco de dados MongoDB autogerenciado. Para instruções de instalação, consulte a documentação oficial Instale o MongoDB.NotaComo alternativa, execute os comandos
mongodumpemongorestorediretamente no servidor que hospeda o banco de dados autogerenciado, sem instalá-los separadamente. -
O banco de dados MongoDB autogerenciado deve estar na versão 3,0 ou superior.
NotaPara obter informações sobre mecanismos de armazenamento compatíveis, consulte Versions and storage engines. Se você migrar entre versões ou mecanismos de armazenamento diferentes, verifique a compatibilidade antes de iniciar.
A instância standalone de destino deve ter capacidade de armazenamento suficiente para o banco de dados autogerenciado. Se a capacidade for insuficiente, aumente-a conforme descrito em Modifique a configuração da instância.
Observações de uso
Esta é uma migração completa de dados. Para garantir a consistência, interrompa todos os services relacionados e as operações de escrita no banco de dados autogerenciado antes de começar.
Se já tiver executado o
mongodump, mova os arquivos de backup existentes da pasta dump antes de iniciar. Caso contrário, os arquivos de backup existentes serão sobrescritos.Execute o
mongodumpe omongorestoreno servidor que hospeda o banco de dados MongoDB autogerenciado, não nomongo shell.
Etapa 1: Fazer backup do banco de dados autogerenciado
-
No servidor que hospeda o banco de dados autogerenciado, execute o comando a seguir para fazer backup de todos os bancos de dados.
mongodump --host <mongodb_host> --port <port> -u <username> --authenticationDatabase <database>Nota<mongodb_host>: endereço do servidor do banco de dados MongoDB autogerenciado. Use127.0.0.1se executar o comando no próprio servidor de banco de dados.<port>: número da porta do service de banco de dados. O valor padrão é27017.<username>: conta do banco de dados autogerenciado, comotest.<database>: banco de dados de autenticação ao qual a conta de usuário pertence.
Exemplo:
mongodump --host 127.0.0.1 --port 27017 -u test --authenticationDatabase admin -
Quando a CLI solicitar
Enter password:, insira a senha da conta do banco de dados e pressione Enter para iniciar o backup.NotaOs caracteres da senha ficam ocultos durante a digitação.
Após a conclusão do backup, os dados do banco de dados autogerenciado são salvos na pasta dump no diretório atual.
Etapa 2: Migrar dados para a Alibaba Cloud
-
Obtenha o endpoint do nó primário da instância do ApsaraDB for MongoDB.
Faça login no ApsaraDB for MongoDB console.
No canto superior esquerdo da página, selecione a região onde a instância está localizada.
No painel de navegação à esquerda, clique em Replica Set Instances.
Localize a instância de destino e clique em ID da instância.
-
No painel de navegação à esquerda, clique em Database Connections para visualizar os detalhes de conexão.
Na página de informações de conexão, as seções de conexão VPC e pública exibem o endpoint do nó primário (por exemplo,
dds-<instanceID>.mongodb.rds.aliyuncs.com:3717, em que endpoints públicos incluem o sufixo-pub) e um ConnectionStringURI (por exemplo,mongodb://root:****@<endpoint>/admin). Use o endpoint do nó primário para a migração.Tabela 1. Endpoints de conexão Tipo de endpoint
Descrição
Cenário
Endpoint VPC
Ambiente de rede isolado que oferece maior segurança e desempenho que a rede clássica.
Use quando o banco de dados MongoDB autogerenciado estiver em uma ECS instance na mesma região e VPC da instância do ApsaraDB for MongoDB.
NotaA instância ECS e a instância do ApsaraDB for MongoDB devem estar na mesma região e VPC.
Endpoint público
Desativado por padrão. Solicite-o antes de usar. Para mais informações, consulte Apply for a public endpoint.
Use quando o banco de dados MongoDB autogerenciado estiver em um servidor local.
-
Adicione o endereço IP do servidor do banco de dados autogerenciado à lista de permissões da instância do ApsaraDB for MongoDB. Para mais informações, consulte Configure a whitelist.
NotaSe conectar-se à instância do ApsaraDB for MongoDB via VPC, adicione o endereço IP privado da instância ECS que hospeda o banco de dados autogerenciado à lista de permissões.
Se conectar-se à instância do ApsaraDB for MongoDB via endpoint público, adicione o endereço IP público do servidor local que hospeda o banco de dados autogerenciado à lista de permissões.
-
No servidor que hospeda o banco de dados autogerenciado, execute o comando a seguir para restaurar os dados na instância do ApsaraDB for MongoDB.
mongorestore --host <Primary_host> -u <username> --authenticationDatabase <database> <Backup directory>Nota<Primary_host>: endpoint do nó primário da instância do ApsaraDB for MongoDB.<username>: conta de banco de dados da instância do ApsaraDB for MongoDB. A conta inicial é root.<database>: banco de dados de autenticação. Se usar a contaroot, este banco de dados seráadmin.<Backup directory>: diretório onde os arquivos de backup estão armazenados. O diretório padrão é dump.
Exemplo:
A conta do banco de dados é
teste o banco de dados de autenticação éadmin.mongorestore --host dds-bp19f409d7512****-pub.mongodb.rds.aliyuncs.com:3717 -u test --authenticationDatabase admin dump -
Quando a CLI solicitar
Enter password:, insira a senha da conta do banco de dados do ApsaraDB for MongoDB e pressione Enter. O processo de restauração de dados será iniciado.NotaOs caracteres da senha ficam ocultos durante a digitação.
Se esquecer a senha da conta
root, redefina-a conforme descrito em Reset a password.
Após a conclusão da migração, alterne seus services para a instância do ApsaraDB for MongoDB quando estiver pronto.
Próximas etapas
Após a migração, conecte-se à instância do ApsaraDB for MongoDB para gerenciar bancos de dados e contas.