Migrar desde MongoDB con mongodump y mongorestore
Lleva una base de datos de MongoDB a TeselaDB con las herramientas que ya usas y cambia la cadena de conexión.
TeselaDB habla el protocolo de MongoDB, así que la migración se hace con mongodump y mongorestore, las herramientas
de base de datos de MongoDB. Tu aplicación no cambia: solo su cadena de conexión.
Antes de empezar
- Un clúster de TeselaDB en marcha (Tu primer clúster) y su CA,
pki/ca.pem. - Un usuario con el rol
restoreen TeselaDB, orootpara la migración. - Las MongoDB Database Tools instaladas en una máquina que vea los dos.
1. Exporta desde MongoDB
mongodump --uri "mongodb://usuario:<contraseña>@mongo-01:27017/tienda" --gzip --archive=tienda.gzSi no quieres parar las escrituras durante la copia, exporta todo el replica set con --oplog: el archivo incluye las
operaciones que ocurren mientras dura la exportación.
mongodump --uri "mongodb://usuario:<contraseña>@mongo-01:27017/?replicaSet=rs0" --oplog --gzip --archive=todo.gz2. Importa en TeselaDB
mongorestore --uri "mongodb://root:<contraseña>@node-01:27017/?tls=true&tlsCAFile=./ca.pem" \
--gzip --archive=tienda.gzCon un archivo hecho con --oplog, añade --oplogReplay para aplicar esas operaciones al final. mongorestore crea
también los índices, y TeselaDB reparte cada colección en rangos mientras llegan los documentos.
3. Comprueba los datos
db.pedidos.countDocuments();
db.pedidos.getIndexes();Compara los recuentos y los índices con los de MongoDB antes de mover el tráfico.
4. Cambia la cadena de conexión
mongodb://tienda-api:<contraseña>@node-01:27017,node-02:27017,node-03:27017/tienda?tls=true&tlsCAFile=./ca.pemCrea un usuario para la aplicación con solo los roles que necesita (Usuarios y roles)
y revisa Diferencias con MongoDB por si tu aplicación depende de algún
comportamiento que cambia, como el orden de un find sin sort.
Última actualización