mongosync e instruções sobre como atualizar sua versão do mongosync.O utilitário mongosync cria uma conexão entre clusters MongoDB . mongosync pode fazer uma conexão entre:
Clusters hospedados no MongoDB Atlas ou
um cluster self-managed e um cluster hospedado no Atlas.
Esta página fornece instruções para conectar um cluster autogerenciado a um cluster Atlas usando o MongoDB Cluster-to-Cluster Sync.
Para obter detalhes adicionais sobre como se conectar a um cluster do Atlas, consulte Conecte-se a uma implantação de banco de dados
Observação
Para obter o melhor desempenho, atualize seu cluster autogerenciado para a versão de patch mais recente do MongoDB Server antes da migração. Para obter mais informações, consulte Atualizar para a versão de patch autogerenciada mais recente do MongoDB.
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@][host.domain.TLD][:port][/defaultauthdb][?options] 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@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
Especifique os nomes de host das instâncias do mongod da mesma forma que elas estão listadas na configuração do conjunto de réplicas.
Para clusters fragmentados, especifique os nomes de host das instâncias mongos em vez das instâncias mongod .
Observação
mongosync não requer a opção replicaSet .
mongosync requer a read preference primary para se conectar aos clusters de origem e destino. Para obter mais informações, consulte Opções de preferência de leitura.
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.
Se o cluster de origem ou destino exigir autenticação, você deverá fornecer as credenciais corretas ao chamar o mongosync.
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 executar um bloqueio de gravação ou sincronização reversa.
As permissões self-managed são:
Tipo de sincronização | Permissões de origem necessárias | Permissões de destino necessárias |
|---|---|---|
Default | ||
Bloqueio de gravação | ||
Reversão |
Para obter detalhes sobre as funções do servidor , consulte: Controle de acesso baseado em funções em implementações autogerenciadas.
Para atualizar permissões de usuário, consulte: grantRolesToUser.
As permissões do Atlas são:
Tipo de sincronização | Alvo | Permissões necessárias |
|---|---|---|
default | cluster de origem |
|
default | cluster de destino |
|
bloqueio ou reversão de gravação | cluster de origem |
|
bloqueio ou reversão de gravação | cluster de destino |
|
Para obter detalhes sobre as funções do Atlas , consulte: Funções deAtlas user .
Para atualizar as permissões de Atlas user , consulte: Gerenciar acesso a um projeto.
Comportamento
Hospedagem
O utilitário mongosync pode ser hospedado em seu próprio hardware próximo ao cluster de origem ou de destino. Ele não precisa ser hospedado no mesmo servidor que uma das instâncias mongod ou mongos no cluster. Essa flexibilidade permite que você envie ou extraia dados para o cluster de destino com impacto mínimo nas instâncias mongod ou mongos execução lá.
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
Antes de tentar executar o mongosync com um cluster do Atlas M10+, desabilite a opção Require Indexes for All Queries.
Exemplo
Obter informações de conexão
O cluster de origem, cluster0, é hospedado nos seguintes servidores e portas:
clusterOne01.fancyCorp.com:20020
clusterOne02.fancyCorp.com:20020
clusterOne03.fancyCorp.com:20020
O cluster de destino, cluster1, é hospedado nos seguintes servidores e portas:
clusterTwishard-00-00.abc12.mongodb.net:27017
clusterTwis-shard-00-01.abc12.mongodb.net:27017
clusterTwis-shard-00-02.abc12.mongodb.net:27017
Há um usuário administrativo, clusterAdmin configurado em cada cluster com senha, superSecret.
Conecte os clusters de origem e destino com mongosync
Use as informações de conexão coletadas para criar as string de conexão para cluster0 e cluster1:
cluster0: mongodb://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020 cluster1: mongodb+srv://clusterAdmin:superSecret@clusterTwo.abc12.mongodb.net
Observação
Os Atlas clusters exigem conexões TLS . Para utilizar o mongosync com Atlas clusters, adicione a opção tls=true ou utilize o formato de string de conexão do mongodb+srv. Para obter mais detalhes sobre cadeias de conexão mongodb+srv, consulte Formato de conexão SRV.
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://clusterAdmin:superSecret@clusterOne01.fancyCorp.com:20020,clusterOne02.fancyCorp.com:20020,clusterOne03.fancyCorp.com:20020" \ --cluster1 "mongodb+srv://clusterAdmin:superSecret@clusterTwo.abc12.mongodb.net"