Você pode usar mongodump e para propagar o cluster do MongoDB Atlas com dados de um conjunto de réplicas ou autônomo do MongoDB existente. Para obter orientação sobre como semear dados de um cluster fragmentado do MongoDB existente, entre em contato com o suporte do Atlas mongorestore :
No Atlas, vá para a página Support.
Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.
Clique no ícone Support na barra de navegação.
Clique em View plan.
A página Suporte é exibida.
Além de poder escalar um cluster gratuito (anteriormente conhecido M0 como) para um M10+ cluster pago usando a interface do usuário do Atlas , você também pode usar mongodump os mongorestore procedimentos e nesta seção para copiar dados de um cluster gratuito para um M10+ cluster.
Sobre esta tarefa
Versão recomendada do mongodump e do mongorestore
Use a versão estável mais recente do mongodump e para este mongorestore processo.
Tempo de inatividade exigido
Para garantir uma migração atualizada, agende uma período de manutenção na qual você possa interromper todas as gravações em seu cluster de origem. Todas as operações de gravação emitidas para o cluster de origem após a mongodump conclusão da parte do procedimento não são migradas para o cluster de destino.
Depois que concluir a restauração dos dados, você deverá transferir seus aplicativos para o cluster de destino do Atlas antes de retomar as operações de gravação. Para conectar a um Atlas cluster, consulte Conectar mongorestorea um Atlas cluster.
O tempo total de inatividade exigido depende de fatores como o tamanho dos dados que estão sendo migrados e a conexão de rede entre seu cluster de origem e o Atlas. Se você tiver dúvidas sobre tempo de inatividade prolongado, entre em contato com o suporte do Atlas:
No Atlas, vá para a página Support.
Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.
Clique no ícone Support na barra de navegação.
Clique em View plan.
A página Suporte é exibida.
Segurança de cluster
O Atlas gerencia a criação de usuários do banco de dados. Se o cluster de origem impuser autenticação:
Permitir acesso de leitura ao primário.
Para usar
mongorestorecom a opção, você deve excluir--oplogReplayosadminconfigdiretórios e dodumpdiretório que cria.mongodumpOsadminconfigdiretórios e contêm informações do usuário de banco de dados que você não pode adicionar no Atlas clustermongorestorecom. Use omongorestore--nsExcludepara excluir oadmin.system.*namespace.
Você não pode migrar nenhuma informação de usuário ou função existente para o Atlas. Para o cluster Atlas de destino, crie os devidos usuários do banco de dados para viabilizarem os padrões de uso do seu aplicativo. Atualize seus aplicativos como parte do procedimento de corte para usar os novos usuários do banco de dados. Para saber mais, consulte Configurar usuários do banco de dados.
Desempenho
Este procedimento requer a mongodump execução de e em um host no cluster de origem. Esses programas consomem recursos do sistema, como CPU e memória, e podem impacto o desempenho do host.mongorestore
Execute este procedimento durante o uso do sistema sem pico ou durante uma janela de manutenção programada. Se a origem for um conjunto de réplicas, você poderá executar esse procedimento no host de um membro secundário. Depois de interromper as gravações no cluster, permita que o secundário alcance o primário antes de iniciar esse procedimento.
Comportamento de pipe
Este procedimento usa pipes do Linux para transmitir a saída de mongodump mongorestorepara. Se o processo não conseguir acompanhar mongorestore o mongodump processo, você poderá ver erros de pipe quebradas.
Para obter orientação sobre como lidar com erros persistentes de pipe quebrado, entre em contato com o suporte do Atlas:
No Atlas, vá para a página Support.
Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.
Clique no ícone Support na barra de navegação.
Clique em View plan.
A página Suporte é exibida.
Passos
O tutorial a seguir usa mongodump e para transferir dados de um cluster MongoDB para um cluster Atlas mongorestore :
Crie um usuário do banco de dados no conjunto de réplicas de origem.
Importante
Opcional
Se o cluster de origem não impuser autenticação, pule esta etapa.
Se a implantação de origem impuser autenticação, você deverá fornecer um usuário de banco de dados com privilégios para ler qualquer banco de dados como parte desse procedimento. Para saber mais sobre privilégios de usuário do banco de dados, consulte Controle de acesso baseado em funções do MongoDB.
Se esse usuário não existir, crie um usuário em seu conjunto de réplicas de origem do MongoDB com a função de backup no admin banco de dados.
Exemplo
Montar o comando mongodump.
Com base no tipo de cadeia de conexão que você usa, copie um dos seguintes modelos para o seu editor de texto:
Observação
Para se conectar aos clusters do Atlas, recomendamos se conectar com uma cadeia de conexão de lista de sementes de DNS usando a opção --uri.
mongodump --uri "mongodb://username:password@mongodb0.example.com:<Port>,mongodb1.example.com:<Port1>,mongodb2.example.com:<Port2>/?replicaSet=<ReplicaSetName>&authSource=admin" \ --archive
Substitua os exemplos de host pelas informações dos seus nós do conjunto de réplicas. Substitua <ReplicaSetName> pelo nome do conjunto de réplicas de origem.
Para sistema standalone, exclua replicaSet=<ReplicaSetName> e especifique o nome de host somente do sistema standalone. Por exemplo, --uri "mongodb://standalone-mongod.example.net:27017"
mongodump --uri "mongodb+srv://username:password@cluster0.example.mongodb.net" \ --archive
Observação
Se estiver usando mongodump ou mongorestore no Ubuntu.,18 04você poderá receber uma cannot unmarshal DNS mensagem de erro ao usar connection strings SRV (no mongodb+srv:// formato) com a --uri opção. Nesse caso, use uma das seguintes opções:
a
--uriopção com uma string de conexão não SRV (nomongodb://formato)a opção
--hostpara especificar o host para conectar diretamente
Observação
Se sua senha contiver caracteres especiais, ela deverá ser codificada por porcentagem.
Não execute este comando ainda. Prossiga para a próxima etapa depois de modificar o modelo.
Configure o usuário de banco de dados no Atlas cluster de destino.
Para mongorestore executar o em um Atlas cluster, você deve especificar um usuário de banco de dados no Atlas cluster que tenha o papel.Atlas admin
Se esse usuário não existir, crie o usuário:
No Atlas, acesse a página Database Access do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione seu projeto no menu Projects na barra de navegação.
Na barra lateral, clique em Database & Network Access sob o título Security.
A página Acesso ao banco de dados e à rede é exibida.
Clique em Add New Database User.
Adicione um usuário Atlas admin .
Para saber mais sobre o gerenciamento de usuários, consulte Configurar usuários do banco de dados.
No Atlas, vá para a página Clusters do seu projeto.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Na barra lateral, clique em Clusters sob o título Database.
A página Clusters é exibida.
Recuperar e modificar o modelo de conexão mongorestore.
A Binary Import and Export Tools seção da Command Line Tools aba exibe um modelo copiável com as opções mínimas exigidas para conectar o ao seu Atlas mongorestore cluster.
O modelo inclui valores de espaço reservado para determinadas opções. Copie e cole o modelo no editor de texto da sua preferência e faça as seguintes modificações:
password: substitua pela senha de usuário especificada emusername. O modelo inclui um usuário de banco de dados do projeto como ousername. Para fazer a autenticação com outro usuário, substitua ousernamee a senha para este usuário nopassword.Adicione e defina seu
--nsExcludevalor"admin.system.*"em.Add
--archive.
Com base no tipo de cadeia de conexão usado, seu modelo deve ser semelhante a um dos seguintes comandos:
mongorestore --uri "mongodb://username:password@00.foo.mongodb.net:27017,01.foo.mongodb.net:27017,02.foo.mongodb.net:27017/?replicaSet=myRepl&authSource=admin" \ --archive \ --ssl \ --nsExclude "admin.system.*"
mongorestore --uri "mongodb+srv://username:password@cluster1.example.mongodb.net" \ --archive \ --nsExclude "admin.system.*"
mongodump mongorestoreExecute e.
Importante
Certifique-se de que o host em que você está executando mongodump e esteja na lista de mongorestoreacesso IP do projeto .
Para revisar sua lista de acesso IP do projeto, clique em Network Access na seção Security na barra lateral. A aba IP Access List será exibida. Para saber mais, consulte Lista de acesso IP.
No seu editor de texto, use o operador de pipe | para separar os comandos e. Com base no tipo de string de conexão usado, o comando final deve ser semelhante a um dos mongodump mongorestore seguintes:
mongodump --uri "mongodb://username:password@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=sourceRS&authSource=admin" \ --archive \ | \ mongorestore --uri "mongodb://username:password@00.foo.mongodb.net:27017,01.foo.mongodb.net:27017,02.foo.mongodb.net:27017/?replicaSet=myAtlasRS&authSource=admin" \ --archive \ --ssl \ --nsExclude "admin.system.*"
mongodump --uri "mongodb+srv://username:password@cluster0.example.mongodb.net" \ --archive \ | \ mongorestore --uri "mongodb+srv://username:password@cluster1.example.mongodb.net" \ --archive \ --nsExclude "admin.system.*"
Execute o comando completo a partir de um terminal ou shell conectado a uma máquina hospedeira no cluster de origem.
Após a conclusão bem-sucedida do procedimento, conecte-se ao cluster do Atlas usando mongosh e verifique o resultado do procedimento. Para saber como, consulte Conectar-se a um cluster via mongosh.
Você deve atualizar seus aplicativos para ponto para o cluster Atlas antes de retomar as operações de gravação. Para saber como conectar aplicativos ao Atlas, consulte Conectar-se a um cluster por meio de bibliotecas do cliente.