Eseguire la migrazione di un server MySQL locale con l'interfaccia della riga di comando di importazione di Database di Azure per MySQL
È possibile eseguire la migrazione del server MySQL locale a un server flessibile di Database di Azure per MySQL. Si è deciso di eseguire una migrazione offline perché le impostazioni di rete impediscono una connessione diretta tra i server di origine e di destinazione. Il diagramma seguente riepiloga la procedura:
Prerequisiti
Nel server di origine, verificare che siano configurate le impostazioni seguenti:
-
lower_case_table_names = 1 innodb_file_per_table = ON innodb_page_size = 16348 (MySQL Default) Il nome dello spazio di tabella di sistema deve essere
ibdata1.Le dimensioni dello spazio tabella di sistema devono essere maggiori o uguali a 12 MB. (impostazione predefinita di MySQL).
È supportato solo il motore INNODB.
-
È necessario un contenitore di archiviazione BLOB di Azure. Se non si ha un contenitore appropriato, crearne uno con questa guida introduttiva. È necessario il token di firma di accesso condiviso (SAS) del contenitore BLOB di Azure. Per ottimizzare le prestazioni, mantenere il server flessibile di archiviazione e di destinazione nella stessa area.
È necessario arrestare l'applicazione per evitare modifiche al database.
Procedura
Eseguire un backup fisico del database MySQL. Viene usato lo strumento XtraBackup open source di Percona.
Installare lo strumento in base a queste istruzioni (per MySQL 8.0).
Creare un backup completo, ad esempio:
xtrabackup --backup --target-dir=/data/backups/
Caricare il file di backup nell'archivio BLOB di Azure, seguendo questa procedura.
Attivare l'importazione eseguendo questo comando dopo aver compilato le variabili. È possibile modificare anche le dimensioni di calcolo modificando 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 Si prevede che l'importazione richiederà più tempo in proporzione al file di backup. L'importazione di un file di backup da 1 GiB richiede circa mezzo minuto, mentre un file da 1 TB richiede circa 23 minuti.
-
Considerare le seguenti limitazioni:
- Gli utenti e i privilegi non vengono migrati. È necessario eseguire manualmente il dump degli utenti e dei privilegi per eseguire la migrazione degli account di accesso al termine dell'operazione di importazione.
- La disponibilità elevata non è disponibile durante l'importazione, quindi abilitare la disponibilità elevata al termine della migrazione.
Dopo la migrazione di utenti e privilegi, connettere le applicazioni al server flessibile e la migrazione è stata completata.
Suggerimento
In alternativa, se si eseguisse una migrazione online, l'esportazione e l'importazione sarebbero state eseguite come illustrato in precedenza e quindi sarebbe stata configurata la replica dall'origine alla destinazione. Quando la destinazione ha raggiunto completamente l'origine, è necessario tagliare l'applicazione prima di arrestare il database di origine.