O utilitário mongosync cria uma conexão entre Clusters MongoDB . mongosync pode se conectar a qualquer um dos seguintes clusters:
Clusters hospedados no MongoDB Atlas
um cluster autogerenciado e um cluster hospedado pelo Atlas
Esta página fornece instruções para conectar clusters Atlas usando MongoDB Mongosync. Para obter detalhes adicionais sobre como se conectar a um Atlas cluster, consulte Conectar-se a um sistema de banco de dados
Considerações
Os clusters de origem e de destino do Atlas devem usar MongoDB 6.0 ou posterior.
mongosyncsuporta conjuntos de réplicas e clusters fragmentados.mongosyncnão suporta clusters compartilhados do Atlas ou instâncias sem servidor. Você pode usarmongosyncsomente com M10 ou Atlas clusters superiores.Importante
Não escolha Latest Version With Auto Upgrades. Essa opção atualiza automaticamente seu cluster para a versão secundária mais recente. Algumas versões menores, como a versão 8.2 do MongoDB , podem não suportar migração em produção ou Mongosync. Ao atualizar, escolha uma versão principal para garantir a compatibilidade com a migração em produção e o Mongosync.
Cadeias de conexão
mongosync usa uma string de conexão de URI MongoDB para conectar os Atlas clusters:
O esquema de conexão SRV tem o formulário:
mongodb+srv://[username:password]@[clusterName].[host].mongodb.net/ Para obter informações sobre como localizar sua string de conexão SRV no Atlas, consulte Conectar-se ao seu cluster.
O esquema de conexão URI padrão tem o formulário:
mongodb://[username:password]@[clusterName].[host].mongodb.net/
mongosync requires the primary read preference to connect to the source and destination clusters. For more information, see Read Preference Options.
Autenticação
Forneça uma autenticação válida para se conectar a um cluster MongoDB Atlas . Se você ainda não tiver um usuário de banco de dados Atlas , você deverá criar um usuário.
Funções
O usuário especificado na string de conexão mongosync deve ter as permissões necessárias nos clusters de origem e destino. As permissões variam dependendo do seu ambiente e se você deseja usar a sincronização reversa.
As permissões do Atlas são:
Tipo de sincronização | Permissões de origem necessárias | Permissões de destino necessárias |
|---|---|---|
Default |
|
|
Reversão ou múltiplas reversões |
|
|
Para detalhes sobre as funções do Atlas, consulte Funções de Usuário do Atlas.
Para atualizar as permissões de Atlas user , consulte: Gerenciar acesso a um projeto.
Comportamento
Hospedagem
The mongosync utility can be hosted on its own hardware close to either the source or destination cluster. It does not have to be hosted on the same server as one of the mongod or mongos instances in the cluster. This flexibility allows you to push, or pull, data to the destination cluster with minimal impact on the mongod or mongos instances running there.
Estado inicial
Quando mongosync se conecta, ele está no estado IDLE . Você deve emitir o comando de inicialização para iniciar a sincronização.
Limitações
Before you attempt to run mongosync with an M10+ Atlas cluster, disable the Require Indexes for All Queries option to set notablescan to false on both the source and destination clusters.
Exemplo
Obter informações de conexão
O formato genérico da string de conexão é:
mongodb://<user>:<password>@<clusterName>.<hostname>.mongodb.net/
Você pode obter a string de conexão para os clusters do Atlas a partir da UI do Atlas . Para saber mais, consulte Conectar a um sistema de banco de dados.
As connection strings que você uniu para cluster0 e cluster1 devem se assemelhar ao seguinte:
cluster0: mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net cluster1: mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net
Há um usuário administrativo do banco de dados de dados clusterAdmin com a senha superSecret no projeto que contém os clusters.
Conecte os clusters de origem e destino com mongosync
O layout de comando mongosync abaixo é modificado para exibição. Para conectar cluster0 a cluster1 com mongosync, digite o seguinte comando em uma linha:
mongosync \ --cluster0 "mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net" \ --cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net"
Atlas clusters require TLS connections. To use mongosync with Atlas clusters, you add the tls=true option. For example, to connect to the admin database on cluster0 and cluster1:
mongosync \ --cluster0 "mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net/admin?tls=true" \ --cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net/admin?tls=true"
You can also use mongodb+srv connection strings with mongosync. You do not need to add the tls=true option to a mongodb+srv connection string. For example:
mongosync \ --cluster0 "mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net/" \ --cluster1 "mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net/"
Para obter mais detalhes sobre connection strings mongodb+srv , consulte Formato de conexão SRV.