Migración de una instancia local de MySQL a Azure Database for MySQL: métodos de migración
Explorar los distintos métodos para migrar bases de datos de MySQL desde entornos locales a Azure Database for MySQL es esencial para seleccionar el enfoque más adecuado para sus necesidades. En este artículo se describen los distintos métodos de migración disponibles, lo que proporciona un análisis detallado de las ventajas y posibles desafíos de cada técnica. Al comprender los matices de la migración sin conexión, la migración en línea y los enfoques híbridos, puede tomar decisiones informadas que se adapten a los objetivos y los requisitos técnicos de su organización. Si tiene como objetivo un tiempo de inactividad mínimo, una rentabilidad o una transición sin problemas, esta guía le proporciona el conocimiento para elegir el mejor método de migración y ejecutarlo de forma eficaz.
Requisitos previos
Migración de datos de un entorno local de MySQL a Azure Database for MySQL: planificación
Información general
Para mover los datos del origen al destino y llevar a cabo la migración, es necesario el uso de herramientas o características de MySQL.
Es importante completar todas las fases de evaluación y planeamiento antes de iniciar las siguientes fases. La ruta de migración y la herramientas seleccionadas dependen de las decisiones que se tomen y los datos que se recopilen.
En esta sección, analizaremos las siguientes herramientas que se usan habitualmente:
MySQL Workbench
mysqldump
mydumper y myloader
Replicación de datos de entrada (binlog)
MySQL Workbench
MySQL Workbench proporciona una experiencia de GUI enriquecida que permite a los desarrolladores y administradores diseñar, desarrollar y administrar las instancias de MySQL.
La versión más reciente de MySQL Workbench proporciona una sofisticada funcionalidad de migración de objetos para mover una base de datos de un origen a un destino.
Importación y exportación de datos
MySQL Workbench proporciona una interfaz de usuario basada en un asistente que permite exportar e importar total o parcialmente tablas y objetos de base de datos. Para ver un ejemplo de cómo usar MySQL Workbench, visite Migración de la base de datos de MySQL mediante importación y exportación.
Volcado y restauración (mysqldump)
Normalmente, se proporciona mysqldump
como parte de la instalación de MySQL. Es una utilidad cliente que se puede ejecutar para crear copias de seguridad lógicas que equivalen a un conjunto de instrucciones SQL que se pueden reproducir para restaurar la base de datos a un momento dado. mysqldump
no se ha diseñado como una solución rápida o escalable para realizar una copia de seguridad o migrar grandes cantidades de datos. La ejecución de un gran conjunto de instrucciones SQL de inserción puede tener un rendimiento deficiente debido al número de operaciones de E/S de disco necesarias para actualizar los índices. Sin embargo, cuando se combina con otras herramientas que requieren el esquema original, mysqldump
es una excelente herramienta para generar los esquemas de la base de datos y de las tablas. Los esquemas pueden crear el entorno de la zona de aterrizaje de destino.
La utilidad mysqldump
proporciona características prácticas durante la fase de migración de datos. Antes de ejecutar la utilidad, debe considerarse el rendimiento. Vea Consideraciones sobre el rendimiento.
mydumper y myloader
Los entornos con grandes bases de datos que requieren una migración rápida deben usar mydumper y myloader. Estas herramientas se escriben en C++ y usan técnicas multiproceso para enviar los datos lo más rápido posible a la instancia de MySQL de destino. mydumper
y myloader
aprovechan el paralelismo y pueden acelerar la migración unas 10 veces o más.
Las versiones binarias de las herramientas disponibles para descarga pública se han compilado para Linux. Para ejecutar estas herramientas en Windows, es necesario recompilar los proyectos de código abierto. Para la mayoría de los usuarios, la compilación de código fuente y la creación de versiones no es una tarea sencilla.
Replicación de datos de entrada (binlog)
De forma similar a otros sistemas de administración de bases de datos, MySQL proporciona una característica de replicación de registros denominada replicación binlog. La característica de replicación binlog
ayuda con la migración de datos y la creación de réplicas de lectura.
Use la replicación binlog para migrar datos a Azure Database for MySQL en un escenario en línea. La replicación de datos ayuda a reducir el tiempo de inactividad necesario para realizar los últimos cambios en los datos de destino.
Para usar la característica replicación binlog
, hay algunos requisitos de configuración:
Se recomienda que el servidor maestro utilice el motor InnoDB de MySQL. Si usa un motor de almacenamiento distinto de InnoDB, debe migrar las tablas a InnoDB.
Los usuarios de la migración deben tener permisos para configurar el registro binario y crear nuevos usuarios en el servidor maestro.
Si el servidor maestro tiene SSL habilitado, asegúrese de que el certificado de entidad de certificación SSL proporcionado para el dominio se haya incluido en el procedimiento almacenado "mysql.az_replication_change_master". Consulte los siguientes ejemplos y el parámetro "master_ssl_ca".
Asegúrese de que la dirección IP del servidor maestro se ha agregado a las reglas de firewall del servidor de réplica de Azure Database for MySQL. Actualice las reglas de firewall mediante Azure Portal o la CLI de Azure.
Asegúrese de que el equipo que hospeda el servidor maestro permite el tráfico entrante y saliente en el puerto 3306.
Asegúrese de que el servidor maestro tenga una dirección IP accesible (pública o privada) desde el origen hasta los destinos.
Para llevar a cabo una migración mediante replicación, consulte Configuración de la replicación de datos de entrada en Azure Database for MySQL para obtener más información.
El método de replicación binlog
tiene requisitos elevados de CPU y almacenamiento adicional. Los usuarios de la migración deben probar la carga ubicada en el sistema de origen durante las migraciones en línea y determinar si es aceptable.
Azure Database Migration Service (DMS)
Azure Database Migration Services (DMS) es una herramienta de Azure basada en la nube que permite a los administradores realizar un seguimiento de las distintas configuraciones de migración y reutilizarlas si es necesario. DMS funciona mediante la creación de proyectos de migración con configuraciones que apuntan a varios orígenes y destinos. Admite migraciones sin conexión. También admite cargas de trabajo de datos del entorno local y basadas en la nube, como MySQL de Amazon Relational Database Service (RDS).
Aunque el servicio DMS es una herramienta en línea, se basa en la característica de replicación binlog
de MySQL para realizar las tareas. Actualmente, DMS automatiza parcialmente el proceso de migración sin conexión. DMS requiere que se genere y aplique el esquema correspondiente en la instancia de destino de Azure Database for MySQL. Los esquemas se pueden exportar con la utilidad cliente mysqldump
.
Migración más rápida o con un tiempo de inactividad mínimo
Hay numerosas opciones para migrar los datos. Decidir qué ruta de acceso tomar es una función del conjunto de aptitudes del equipo de migración y la cantidad de tiempo de inactividad que los propietarios de la base de datos y de la aplicación están dispuestos a aceptar. Algunas herramientas admiten estrategias de migración de datos multiproceso en paralelo, mientras que otras se han diseñado para realizar migraciones sencillas, únicamente de datos de tablas.
La opción más rápida y completa es usar la replicación binlog
(ya sea directamente con MySQL o a través de DMS), pero supone el costo de agregar claves principales.
Tabla de decisión
Hay muchas opciones que WWI puede usar para migrar sus cargas de trabajo de MySQL. Hemos proporcionado una tabla con las posibles opciones y las ventajas e inconvenientes de cada una de ellas:
Objetivos | Descripción | Herramienta | Prerrequisitos | Ventajas | Inconvenientes |
---|---|---|---|---|---|
Migración más rápida posible | Estrategia en paralelo | mydumper y myloader | Linux | Muy paralelizada | Limitación en el destino |
Migración en línea | Mantiene el origen activo el máximo tiempo posible | binlog | Ninguno | Fluidez | Almacenamiento y procesamiento extra |
Migración sin conexión | Mantiene el origen activo el máximo tiempo posible | Database Migration Service (DMS) | Ninguno | Proceso repetible | Limitada solo a datos; admite todas las versiones de MySQL |
Migración sin conexión muy personalizada | Exportación selectiva de objetos | mysqldump | Ninguno | Muy personalizable | Manual |
Migración sin conexión semiautomatizada | Exportación e importación basadas en la interfaz de usuario | MySQL Workbench | Descarga e instalación | Semiautomatizada | Solo se admiten los conjuntos de modificadores más comunes |
Escenario de WWI
WWI eligió su base de datos de conferencias como la primera carga de trabajo para migrar. El motivo para esta elección fue que tenía menos riesgo y el mayor tiempo de inactividad disponible debido al hueco en la programación anual de conferencias. Además, en función de la evaluación del equipo de migración, determinaron que intentaron realizar una migración sin conexión mediante MySQL Workbench.
Lista de comprobación de los métodos de migración
Asegurarse de que se selecciona el método correcto en función de los entornos de origen y destino.
Asegurarse de que el método puede cumplir los requisitos empresariales.
Comprobar siempre si la carga de trabajo de datos admite el método en cuestión.