Migrera en lokal MySQL-server med Azure Database for MySQL Import CLI
Det är dags att migrera den lokala MySQL-servern till en flexibel Azure Database for MySQL-server. Du har bestämt dig för att utföra en offlinemigrering eftersom nätverksinställningarna förhindrar en direkt anslutning mellan käll- och målservrarna. Följande diagram sammanfattar proceduren:
Förutsättningar
På källservern kontrollerar du att följande inställningar är konfigurerade:
-
lower_case_table_names = 1 innodb_file_per_table = ON innodb_page_size = 16348 (MySQL Default)
Namnet på systemtabellområdet ska vara
ibdata1
.Systemets tabellområdesstorlek ska vara större än eller lika med 12 MB. (MySQL-standard)
Endast INNODB-motorn stöds.
-
Du behöver en Azure Blob Storage-container. Om du inte har någon lämplig container skapar du en med den här snabbstarten. Du behöver Azure Blob-containerns sas-token (signatur för delad åtkomst). Du kan optimera prestanda genom att behålla lagringen och rikta in dig på en flexibel server i samma region.
Du måste stänga av programmet för att förhindra ändringar i databasen.
Procedur
Gör en fysisk säkerhetskopia av mySQL-databasen. Vi använder Perconas XtraBackup-verktyg med öppen källkod.
Installera verktyget enligt dessa instruktioner (för MySQL 8.0).
Skapa en fullständig säkerhetskopia, till exempel:
xtrabackup --backup --target-dir=/data/backups/
Ladda upp säkerhetskopieringsfilen till Azure Blob Storage genom att följa dessa steg.
Utlös importen genom att köra det här kommandot när du har fyllt i variabler. Du kan också ändra beräkningsstorleken genom att ändra 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
Förvänta dig att importen tar längre tid i förhållande till säkerhetskopieringsfilen. En 1-GiB-säkerhetskopieringsfil tar ungefär en halv minut att importera, medan en 1 TB-fil tar cirka 23 minuter.
-
Tänk på följande begränsningar:
- Användare och privilegier migreras inte. Du måste manuellt dumpa användare och behörigheter för att migrera inloggningar när importåtgärden har slutförts.
- Hög tillgänglighet är inte tillgänglig under importen, så aktivera hög tillgänglighet när migreringen är klar.
När du har migrerat användare och privilegier ansluter du dina program till den flexibla servern och migreringen är klar.
Dricks
Om du utförde en onlinemigrering skulle du också ha utfört exporten och importen enligt beskrivningen tidigare och sedan konfigurerat replikering från källan till målet. När målet helt kom ikapp källan skulle du ha klippt över programmet innan du stängde av källdatabasen.