Planificación de la migración
Antes de iniciar la migración, realiza un inventario completo de tus bases de datos: versiones, tamaños, esquemas, usuarios y dependencias. Verifica la compatibilidad de la versión de tu motor de base de datos con las versiones soportadas por iLove Telecom. Para MySQL, usa SELECT VERSION(). Planifica una ventana de mantenimiento con el menor tráfico posible y comunica el cambio a los equipos involucrados con suficiente antelación.
Migración con mysqldump (MySQL/MariaDB)
Exporta tu base de datos con mysqldump -u usuario -p --opt --single-transaction --routines --triggers --events base_datos > backup.sql. El flag --single-transaction garantiza una copia consistente sin bloquear tablas en InnoDB. Transfiere el archivo a una instancia en la misma VPC de iLove Telecom e impórtalo: mysql -h ENDPOINT_DB -u usuario -p base_datos < backup.sql. Para bases de datos grandes, usa pv backup.sql | mysql ... para monitorear el progreso.
Migración con pg_dump (PostgreSQL)
Para PostgreSQL, usa pg_dump -h origen -U usuario -d base_datos --format=custom --compress=9 -f backup.dump. El formato custom permite restaurar con múltiples trabajos en paralelo: pg_restore -h ENDPOINT_DB -U usuario -d base_datos --jobs=4 backup.dump. Verifica los datos post-migración comparando el conteo de registros en tablas críticas: SELECT COUNT(*) FROM tabla en ambos lados.
Migración en vivo con replicación
Para minimizar el tiempo de inactividad, configura replicación desde tu base de datos origen hacia la instancia gestionada de iLove Telecom. En MySQL, configura la instancia origen como maestro y la instancia destino como réplica. Una vez que la réplica esté al día (segundos detrás del maestro cercano a cero), promueve la réplica a maestro y redirige tu aplicación al nuevo endpoint. El tiempo de corte se reduce a segundos.
Validación post-migración
Después de la migración, ejecuta comprobaciones automatizadas. Verifica que todos los triggers, procedimientos almacenados y funciones se hayan transferido correctamente. Prueba las conexiones desde tu aplicación. Monitorea el rendimiento durante las primeras 48 horas comparándolo con las métricas de la base de datos anterior. Finalmente, actualiza tus cadenas de conexión en todas las aplicaciones y entornos, y deshabilita la base de datos origen solo después de confirmar que todo funciona correctamente.