Migrar un servidor de MySQL local mediante la CLI de importación de Azure Database for MySQL
Es el momento de migrar el servidor MySQL local a un servidor flexible de Azure Database for MySQL. Ha decidido realizar una migración sin conexión porque la configuración de red impide una conexión directa entre los servidores de origen y de destino. En el siguiente diagrama se resume el procedimiento:
Requisitos previos
En el servidor de origen, asegúrese de que se han configurado las siguientes opciones:
-
lower_case_table_names = 1 innodb_file_per_table = ON innodb_page_size = 16348 (MySQL Default)
El nombre del espacio de tablas del sistema debe ser
ibdata1
.El tamaño del espacio de tablas del sistema debe ser mayor o igual que 12 MB. (MySQL predeterminado)
Solo se admite el motor INNODB.
-
Necesita un contenedor de Azure Blob Storage. Si no tiene un contenedor adecuado, cree uno con este inicio rápido. Necesita el token de firma de acceso compartido (SAS) del contenedor de blobs de Azure. Para optimizar el rendimiento, mantenga el almacenamiento y el servidor flexible de destino en la misma región.
Debe apagar la aplicación para evitar cambios en la base de datos.
Procedimiento
Realice una copia de seguridad física de la base de datos MySQL. Usamos la herramienta XtraBackup de código abierto de Percona.
Instale la herramienta siguiendo estas instrucciones (para MySQL 8.0).
Cree una copia de seguridad completa; por ejemplo:
xtrabackup --backup --target-dir=/data/backups/
Cargue el archivo de copia de seguridad en Azure Blob Storage siguiendo estos pasos.
Desencadene la importación ejecutando este comando después de rellenar las variables. También puede modificar el tamaño de proceso cambiando Standard_D2ds_v4.
-
az mysql flexible-server import create --data-source-type "azure_blob" --data-source $BLOB_DATA_URL --data-source-backup-dir "mysql_backup_percona" –-data-source-token $SAS_TOKEN --resource-group $RESOURCE_GROUP --name $FLEXIBLE_SERVER_NAME –-sku-name Standard_D2ds_v4 --tier GeneralPurpose –-version 8.0 -–location westus --auto-scale-iops Enabled
Prevea que la importación tardará más en proporción al archivo de copia de seguridad. Un archivo de copia de seguridad de 1 GiB tarda aproximadamente medio minuto en importarse, mientras que un archivo de 1 TB tarda aproximadamente 23 minutos.
-
Tenga presentes las siguientes limitaciones:
- Los usuarios y los privilegios no se migran. Debe volcar manualmente los usuarios y los privilegios para migrar los inicios de sesión una vez completada la operación de importación.
- La alta disponibilidad no está disponible durante la importación, por lo que deberá habilitar la alta disponibilidad una vez completada la migración.
Después de migrar los usuarios y los privilegios, conecte sus aplicaciones al servidor flexible y la migración habrá finalizado.
Sugerencia
Como alternativa, si estuviera realizando una migración en línea, habría realizado la exportación y la importación como se explicó anteriormente y, a continuación, habría configurado la replicación desde el origen al destino. Cuando el destino esté completamente atrapado en el origen, habría cortado la aplicación antes de apagar la base de datos de origen.