Semente com mongorestore
Você pode usar mongodump
e mongorestore
para popular o MongoDB Atlas cluster com dados de um conjunto de réplicas ou standalone 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 clicando em Support na navegação à esquerda da UI do Atlas.
Além de poder escalar um cluster de camada grátis do M0
para um cluster pago do M10+
usando a UI do Atlas, você também pode usar os procedimentos mongodump
e mongorestore
nesta seção para copiar dados de um cluster de camada grátis do M0
para um cluster M10+
.
Considerações
Versão recomendada do mongodump
e do mongorestore
Use a versão estável mais recente do mongodump
e mongorestore
para este procedimento.
Tempo de inatividade exigido
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 Atlas cluster, 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 clicando em Support na navegação à esquerda da UI do Atlas.
Para obter um procedimento de migração de indisponibilidade mínima guiada, consulte Migração live de conjunto de réplicas ou Migração live de cluster fragmentado.
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
mongorestore
com a opção--oplogReplay
, você deve excluir os diretóriosadmin
econfig
do diretóriodump
quemongodump
cria. Os diretóriosadmin
econfig
contêm informações do usuário do banco de dados que você não pode adicionar a um Atlas cluster commongorestore
. Use omongorestore
--nsExclude
para excluir o namespaceadmin.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.
Desempenho
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.
Comportamento de pipe
Este procedimento utiliza pipes do Linux para transmitir a saída de mongodump
para mongorestore
. Se o processo não conseguir acompanhar mongorestore
o mongodump
processo , 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 clicando em Support na navegação à esquerda da interface do usuário do Atlas.
Procedimento
O seguinte tutorial utiliza mongodump
e mongorestore
para transferir dados de um cluster MongoDB para um cluster Atlas:
Opcional: Crie um usuário do banco de dados no conjunto de réplica de origem.
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
Monte 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
.
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 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:
Se ainda não estiver exibido, selecione sua organização desejada no menu Organizations na barra de navegação.
Clique em Access Manager na barra lateral ou clique em Access Manager na barra de navegação e, em seguida, clique em sua organização.
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.
Navegue até a página Clusters do seu projeto.
Se ainda não estiver exibido, selecione a organização que contém o projeto desejado 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.
Se a página Clusters ainda não estiver exibida, clique em Database na barra lateral.
Recuperar e modificar o modelo de conexão mongorestore
.
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 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 ousername
e a senha para este usuário nopassword
.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:
Execute mongodump
e mongorestore
.
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.
Dica
Veja também:
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:
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 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.