La utilidad mongosync crea una conexión entre clústeres de MongoDB. mongosync puede conectarse a cualquiera de los siguientes clústeres:
MongoDB Atlas clústeres alojados
un clúster autogestionado y un clúster alojado en Atlas
Esta página proporciona instrucciones para conectar clústeres de Atlas utilizando MongoDB Mongosync. Para obtener detalles adicionales sobre cómo conectarse a un clúster de Atlas, consulte Conectar a una implementación de la base de datos
Considerations
Tanto los clústeres de Atlas de origen como los de destino deben usar MongoDB 6.0 o posterior.
mongosynces compatible con sets de réplicas y clústeres fragmentados.mongosyncno admite clústeres compartidos de Atlas ni instancias sin servidor. Sólo puedes usarmongosynccon clústeres Atlas M10 o superiores.
Cadenas de conexión
mongosync utiliza una cadena de conexión URI de MongoDB para conectar clusters en Atlas:
El esquema de conexión SRV tiene la forma:
mongodb+srv://[username:password]@[clusterName].[host].mongodb.net/ Para obtener información sobre cómo encontrar la cadena de conexión SRV en Atlas, consulta Conéctate a tu clúster.
El esquema estándar de conexión URI tiene la forma:
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.
Autenticación
Proporcione datos de autenticación válidos para conectarse a un clúster de MongoDB Atlas. Si aún no tiene un usuario de base de datos Atlas, debe crear un usuario.
Roles
El usuario especificado en la cadena de conexión mongosync debe tener los permisos requeridos en los clústeres de origen y destino. Los permisos varían dependiendo del entorno y si deseas modificar la configuración de bloqueo de escritura o utilizar la sincronización inversa.
Los permisos de Atlas son:
Tipo de sincronización | Permisos necesarios para la fuente | Permisos de destino requeridos |
|---|---|---|
predeterminado |
|
|
Bloqueo por guardado dual, inversión o múltiples inversiones |
|
|
Para más información sobre los roles de Atlas, consulta Roles de usuario de Atlas.
Para actualizar los permisos de usuario de Atlas, consulta: Gestionar acceso a un proyecto.
Comportamiento
Alojamiento
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
Cuando mongosync se conecta, está en el estado IDLE. Debe emitir el comando de inicio para comenzar la sincronización.
Limitaciones
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.
Ejemplo
Recolectar información sobre la conexión
El formato genérico de cadena de conexión es:
mongodb://<user>:<password>@<clusterName>.<hostname>.mongodb.net/
Puedes obtener la cadena de conexión para los clústeres de Atlas desde la interfaz de usuario de Atlas. Para obtener más información, consulte Conéctese a una implementación de la base de datos.
Las cadenas de conexión que has reunido para cluster0 y cluster1 deben ser similares a las siguientes:
cluster0: mongodb+srv://clusterAdmin:superSecret@cluster1Name.abc123.mongodb.net cluster1: mongodb+srv://clusterAdmin:superSecret@cluster2Name.abc123.mongodb.net
Hay un usuario administrativo de base de datos clusterAdmin con la contraseña superSecret en el proyecto que contiene los clústeres.
Conectar los clústeres de Origen y Destino con mongosync
El siguiente diseño del comando mongosync está modificado para poder visualizarlo. Para conectar cluster0 a cluster1 con mongosync, introduce el siguiente comando en una sola línea:
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 obtener más detalles sobre las cadenas de conexión mongodb+srv, consulta Formato de conexión SRV.