Exploración de las opciones de herramientas de migración

Completado

Hay varias herramientas que puede usar para planear y migrar datos a un servidor flexible de Azure Database for MySQL. Cada opción tiene sus ventajas y desventajas, como se explica en las siguientes secciones.

Detección y evaluación de las cargas de trabajo de MySQL mediante Azure Migrate

Azure Migrate ofrece un centro centralizado para detectar, evaluar y migrar infraestructura local, incluidos servidores, bases de datos y aplicaciones web hospedadas en entornos físicos, a destinos de plataforma como servicio (PaaS) e infraestructura como servicio (IaaS) de Azure a escala. La funcionalidad de detección y evaluación de MySQL en Azure Migrate (versión preliminar) le ayuda durante la fase de planeación al permitirle:

  • Detectar instancias de MySQL y sus atributos en el entorno,
  • Evaluar su preparación para la migración a Azure Database for MySQL: servidor flexible, y
  • Reciba recomendaciones sobre el SKU de proceso y almacenamiento adecuado para hospedar cargas de trabajo MySQL en Azure Database for MySQL: servidor flexible, junto con los costes asociados.

CLI de importación de Azure Database for MySQL

La importación de Azure Database for MySQL se basa en un único comando de la CLI que le permite migrar la carga de trabajo local o de máquina virtual (VM) de MySQL sin problemas a un servidor flexible de Azure Database for MySQL. Ofrece una ruta de migración sencilla y rápida. El comando aprovisiona el servidor flexible de destino configurado según las entradas del usuario y, a continuación, restaura el archivo de copia de seguridad físico (tomado mediante Percona XtraBackup) del servidor de origen almacenado en la cuenta de Azure Blob Storage a la instancia de servidor flexible de destino.

El comando de la CLI es: az mysql flexible-server --import

Al evaluar la CLI de importación, asegúrese de tener en cuenta las siguientes consideraciones.

  • La configuración del servidor de origen debe incluir estos parámetros y valores:

    lower_case_table_names = 1
    innodb_file_per_table = ON
    
  • El nombre del espacio de tablas del sistema debe ser ibdata1 con un tamaño igual a al menos 12 MB (valor predeterminado de MySQL).

  • Solo se admite el motor InnoDB para la migración.

  • No se migran determinados elementos del servidor de origen, como la configuración (firewalls, usuarios, privilegios).

  • La alta disponibilidad (HA) está deshabilitada durante la migración para optimizar el rendimiento. Asegúrese de volver a habilitar la alta disponibilidad una vez completada la migración.

Azure Database Migration Service

Azure Database Migration Service es un servicio totalmente administrado que le ayuda a simplificar, guiar y automatizar las migraciones de bases de datos a plataformas de datos de Azure.

Azure Database Migration Service funciona mediante la creación y ejecución de proyectos de migración repetibles. Los orígenes abarcan desde cargas de trabajo locales hasta cargas de trabajo basadas en la nube, como Amazon RDS para MySQL. Aunque Azure Database Migration Service es técnicamente una herramienta de migración sin conexión, usa el binlog de MySQL para realizar migraciones en línea casi sin tiempo de inactividad.

mysqldump

La utilidad de cliente mysqldump, normalmente instalada junto con MySQL, es una herramienta de copia de seguridad de base de datos. Puede usar mysqldump para volcar el esquema y el contenido de una base de datos de origen en instrucciones SQL. A continuación, puede ejecutar estas instrucciones tal cual para restaurar el contenido completo o parcial en la base de datos de destino.

En el caso de grandes conjuntos de datos, la restauración del volcado mediante la ejecución de las instrucciones SQL puede tener un rendimiento deficiente. Por ejemplo, los índices se actualizan una instrucción cada vez, lo que puede sobrecargar el rendimiento de E/S del disco. Por este motivo, puede acelerar una migración mediante el emparejamiento de mysqldump con herramientas como mydumper y myloader, que están optimizadas para la migración masiva de datos. Use mysqldump para volver a crear el esquema de la base de datos, que es una zona de aterrizaje de la base de datos de destino, para dar cabida a los datos que se importan.

A veces, debe personalizar la transferencia de datos de migración. Es posible que desee exportar un subconjunto de datos para probar o reemplazar los datos de la base de datos de destino para un cliente. Incluso puede modificar los datos, por ejemplo, eliminando datos personales para depurar un problema en una base de datos de prueba, antes de migrarlos.

En estos escenarios, mysqldump proporciona la mayor flexibilidad. Dado que exporta un archivo que contiene instrucciones SQL, puede elegir cómo modificar los datos antes de ejecutar las instrucciones en el servidor de destino.

mydumper y myloader

mydumper y myloader forman parte del paquete de MyDumper, una herramienta de copia de seguridad de MySQL de código abierto. A diferencia de la herramienta mysqldump, que genera todo el esquema en instrucciones SQL para que se ejecuten de nuevo de forma lineal, las herramientas de MyDumper aprovechan el paralelismo y proporcionan ventajas, como el uso de archivos independientes por formatos de tabla y legibles, así como el mantenimiento de posiciones precisas del registro binario de origen y destino.

Para migrar bases de datos grandes, se recomienda mydumper y myloader, ya que estas herramientas ofrecen un rendimiento de 10 veces mayor mediante paralelismo.

Las herramientas están disponibles como versiones binarias para Linux como paquetes rpm y deb, y para macOS a través de Homebrew. En otras plataformas, debe compilar las herramientas a partir del origen, lo que agrega complejidad.

MySQL Workbench

MySQL Workbench proporciona una interfaz gráfica de usuario (GUI) para trabajar con MySQL y ofrece acceso a muchas herramientas, incluida una para la migración de bases de datos. MySQL Workbench está disponible en las ediciones Community y comercial de MySQL, como se indica en la lista Características de MySQL Workbench.

Binlog de MySQL

La herramienta mysqlbinlog usa el registro binario de MySQL, que registra eventos de cambio de base de datos, como modificaciones de tabla o inserciones de datos, actualizaciones y eliminaciones. Cada cambio se identifica mediante una posición que aumenta progresivamente, y puede inspeccionar y manipular cada cambio mediante la herramienta mysqlbinlog.

Puede usar el registro binario como parte de las migraciones en línea y sin conexión:

  • Con las migraciones en línea, el registro binario es el mecanismo clave para replicar los cambios de datos dinámicos del origen al destino.
  • Con las migraciones sin conexión, el registro binario permite migraciones incrementales mediante la generación precisa de cambios desde una instantánea migrada anteriormente.

El mantenimiento del registro binario requiere recursos de procesamiento y almacenamiento adicionales.