Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Semente com mongorestore

Você pode usar mongodump e mongorestore para popular 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 popular dados de um cluster fragmentado do MongoDB existente, entre em contato com o suporte do Atlas:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Ao lado do menu Projects, expanda o menu Options e clique em Project Support.

    A página Suporte ao Projeto é exibida.

2

Além de poder dimensionar um cluster de camada grátis para um M0 M10+ cluster pago do usando a UI do Atlas, você também pode usar os processos mongodump do e nesta seção para copiar dados de um mongorestore M0 cluster de camada grátis do para um M10+ cluster do.

Use a versão estável mais recente do mongodump e mongorestore para este procedimento.

Para garantir uma migração atualizada, agende uma janela 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 conclusão da parte mongodump do procedimento não são migradas para o cluster de destino.

Depois que mongorestore 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 se conectar a um cluster do Atlas, consulte Conectar-se a um 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:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Ao lado do menu Projects, expanda o menu Options e clique em Project Support.

    A página Suporte ao Projeto é exibida.

2

Para obter um procedimento de migração de indisponibilidade mínima guiada para versões do MongoDB anteriores 6.0 a, consulte migração em produção do conjunto de réplicas.

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 mongorestore com a opção --oplogReplay , você deve excluir os diretórios admin e config do diretório dump que mongodump cria. Os diretórios admin e config contêm informações do usuário do banco de dados que você não pode adicionar a um Atlas cluster com mongorestore. Use o mongorestore --nsExclude para excluir o namespace admin.system.* .

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.

Este processo requer a execução mongodump e mongorestore em um host no cluster de origem. Esses programas consomem recursos do sistema, como CPU e memória, e podem afetar o desempenho do host.

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.

Este procedimento utiliza pipes do Linux para transmitir a saída de mongodump para mongorestore. Se o processo mongorestore não conseguir acompanhar o processo mongodump , você poderá ver erros de pipes quebradas.

Para obter orientação sobre como lidar com erros persistentes de pipe quebrado, entre em contato com o suporte do Atlas:

1
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Ao lado do menu Projects, expanda o menu Options e clique em Project Support.

    A página Suporte ao Projeto é exibida.

2

O seguinte tutorial utiliza mongodump e mongorestore para transferir dados de um MongoDB cluster para um cluster Atlas :

1

Importante

Opcional

Se o cluster de origem não impuser autenticação, pule esta etapa.

Se o sistema de origem impuser autenticação, você deverá fornecer um utilizador 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 role de backup no banco de dados admin .

Exemplo

Execute o comando a seguir no mongosh para criar o mySourceUser no banco de dados admin e atribuir a ele a função backup . Para conjuntos de réplicas, você deve executar esse comando no primário.

use admin
db.createUser(
{
user: "<mySourceUser>",
pwd: "<mySourcePassword>",
roles: [ "backup" ]
}
)
2

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.04, você poderá enfrentar uma mensagem de erro cannot unmarshal DNS ao usar connection strings SRV (no formato mongodb+srv://) com a opção --uri . Nesse caso, use uma das seguintes opções:

  • a opção --uri com uma connection string não SRV (no formato mongodb://)

  • a opção --host para 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.

3

Para executar o mongorestore em um Atlas cluster, você deve especificar um usuário do banco de dados no Atlas cluster que tenha o papel Atlas admin .

Se esse usuário não existir, crie o usuário:

  1. No Atlas, acesse a página Organization Access Manager.

    1. Se ainda não estiver exibido, selecione sua organização desejada no Menu Organizations na barra de navegação.

    2. Execute uma das seguintes etapas:

      • Selecione Organization Access no menu Access Manager na barra de navegação.

      • Clique em Access Manager na barra lateral.

      A página Organization Access Manager é exibida.

  2. Clique em Add New Database User.

  3. Adicione um usuário Atlas admin .

Para saber mais sobre o gerenciamento de usuários, consulte Configurar usuários do banco de dados.

4
  1. Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.

  2. Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.

  3. Se ainda não estiver exibido, clique em Clusters na barra lateral.

    A página Clusters é exibida.

5

No menu do cluster, clique em Command Line Tools.

6

A seção Binary Import and Export Tools da aba Command Line Tools exibe um modelo copiável com as opções mínimas exigidas para conectar o mongorestore ao seu Atlas 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 em username. O modelo inclui um usuário de banco de dados do projeto como o username. Para fazer a autenticação com outro usuário, substitua o username e a senha para este usuário no password.

  • Adicione --nsExclude e configure o valor em "admin.system.*".

  • Adicione --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.*"
7

Importante

Certifique-se de que o host em que você está executando mongodump e mongorestore esteja na lista de acesso 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 mongodump e mongorestore . Com base no tipo de connection string usado, o comando final deve ser semelhante a um dos 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 do procedimento, conecte-se ao cluster do Atlas usando mongosh e verifique o resultado do procedimento. Para saber como, consulte Conectar via mongosh.

Você deve atualizar seus aplicativos para apontarem para o cluster Atlas antes de retomar as operações de gravação. Para saber como conectar aplicativos ao Atlas, consulte Conectar por meio de drivers.

Dica

Veja também:

Voltar

Versões mongormirror