Share via


Migrera arbetsbelastningen MySQL lokalt eller virtuell dator till Azure Database for MySQL – flexibel server med Azure Database for MySQL Import CLI (offentlig förhandsversion)

Med Azure Database for MySQL-import för externa migreringar (offentlig förhandsversion) kan du migrera din MySQL-arbetsbelastning lokalt eller virtuell dator (VM) sömlöst till Azure Database for MySQL – flexibel server. Den använder en fysisk säkerhetskopieringsfil som tillhandahålls av användaren och återställer källserverns fysiska datafiler till målservern som erbjuder en enkel och snabb migreringsväg. Efter importen kan du dra nytta av fördelarna med flexibel server, inklusive bättre pris och prestanda, detaljerad kontroll över databaskonfiguration och anpassade underhållsperioder.

Baserat på användarindata tar den upp ansvaret för att etablera din flexibla målserver och återställer sedan den fysiska säkerhetskopian av källservern som lagras i Azure Blob Storage-kontot till målinstansen för flexibel server.

Den här självstudien visar hur du använder CLI-kommandot Azure Database for MySQL Import för att migrera arbetsbelastningen Migrera MySQL lokalt eller virtuell dator (VM) till Azure Database for MySQL – flexibel server.

Starta Azure Cloud Shell

Azure Cloud Shell är ett kostnadsfritt interaktivt gränssnitt som du kan använda för att köra stegen i den här artikeln. Den har vanliga Azure-verktyg förinstallerat och har konfigurerats för användning med ditt konto.

Öppna Cloud Shell genom att välja Prova i det övre högra hörnet i ett kodblock. Du kan också öppna Cloud Shell på en separat webbläsarflik genom att gå till https://shell.azure.com/bash. Välj Kopiera för att kopiera kodblocken, klistra in det i Cloud Shell och välj Retur för att köra det.

Om du föredrar att installera och använda CLI lokalt kräver den här självstudien Azure CLI version 2.54.0 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Ställ in

Du måste logga in på ditt konto med kommandot az sign-in . Observera id-egenskapen, som refererar till ditt Azure-kontos prenumerations-ID.

az login

Välj den specifika prenumerationen under ditt konto där du vill distribuera den flexibla målservern med kommandot az account set . Observera ID-värdet från az login-utdata som ska användas som värde för prenumerationsargumentet i kommandot . Om du vill hämta alla dina prenumerationer använder du az account list.

az account set --subscription <subscription id>

Förutsättningar

  • Källservern bör ha följande parametrar:
    • Lower_case_table_names = 1
    • Innodb_file_per_table = ON
    • Systemtabellområdets namn ska vara ibdata1.
    • Systemtabellområdets storlek ska vara större än eller lika med 12 MB. (MySQL-standard)
    • Innodb_page_size = 16348 (MySQL-standard)
    • Endast INNODB-motorn stöds.
  • Gör en fysisk säkerhetskopiering av MySQL-arbetsbelastningen med Percona XtraBackup Följande är stegen för att använda Percona XtraBackup för att göra en fullständig säkerhetskopiering:
  • Ladda upp den fullständiga säkerhetskopieringsfilen till Azure Blob Storage. Följ stegen här.
  • Om du vill utföra en onlinemigrering samlar du in och lagrar positionen för bin-log för den säkerhetskopieringsfil som tas med hjälp av Percona XtraBackup genom att köra kommandot cat xtrabackup_info och kopiera bin_log pos-utdata.

Begränsningar

  • Källserverkonfigurationen migreras inte. Du måste konfigurera målet Flexibel server på rätt sätt.
  • Användare och privilegier migreras inte som en del av Azure Database for MySQL-import. Du måste göra en manuell dumpning av användare och behörigheter innan du initierar Azure Database for MySQL-import för att migrera inloggningar efter importåtgärden genom att återställa dem på den flexibla målservern.
  • Hög tillgänglighet (HA) aktiverade flexibla servrar returneras som HA-inaktiverade servrar för att öka hastigheten för migreringsåtgärden efter importmigreringen. Aktivera HA för din flexibla målserver efter migreringen.

Rekommendationer för optimal migrering

  • Överväg att behålla Azure Blob Storage-kontot och den flexibla målservern som ska distribueras i samma region för bättre importprestanda.
  • Rekommenderad SKU-konfiguration för Azure Database for MySQL – flexibel server –
    • Att ange burstbar SKU för målet rekommenderas inte för att optimera migreringstiden när du kör importåtgärden Azure Database for MySQL. Vi rekommenderar att du skalar till Generell användning/Affärskritisk för importåtgärden, post, som du kan skala ned till Burstable SKU.

Utlösa en Azure Database for MySQL-importåtgärd för att migrera från Azure Database for MySQL – flexibel server

Utlös en Azure Database for MySQL-importåtgärd med az mysql flexible-server import create kommandot . Följande kommando skapar en flexibel målserver och utför import på instansnivå från säkerhetskopieringsfil till målmål med azure CLI:s lokala kontext:

az mysql flexible-server import create --data-source-type
                                --data-source
                                --data-source-sas-token
                                --resource-group
                                --name
                                --sku-name
                                --tier
                                --version
                                --location
                                [--data-source-backup-dir]
                                [--storage-size]
                                [--mode]
                                [--admin-password]
                                [--admin-user]
                                [--auto-scale-iops {Disabled, Enabled}]
                                [--backup-identity]
                                [--backup-key]
                                [--backup-retention]
                                [--database-name]
                                [--geo-redundant-backup {Disabled, Enabled}]
                                [--high-availability {Disabled, SameZone, ZoneRedundant}]
                                [--identity]
                                [--iops]
                                [--key]
                                [--private-dns-zone]
                                [--public-access]
                                [--resource-group]
                                [--standby-zone]
                                [--storage-auto-grow {Disabled, Enabled}]
                                [--subnet]
                                [--subnet-prefixes]
                                [--tags]
                                [--vnet]
                                [--zone]


The following example takes in the data source information for your source MySQL server’s backup file and target Flexible Server information, creates a target Flexible Server named `test-flexible-server` in the `westus` location and performs an import from backup file to target. 

azurecli-interactive
az mysql flexible-server import create --data-source-type "azure_blob" --data-source "https://onprembackup.blob.core.windows.net/onprembackup" --data-source-backup-dir "mysql_backup_percona" –-data-source-token "{sas-token}" --resource-group "test-rg"  --name "test-flexible-server" –-sku-name Standard_D2ds_v4  --tier GeneralPurpose –-version 5.7 -–location "westus”

Här följer information om argumenten ovan:

Inställning Exempelvärde Beskrivning
datakällans typ azure_blob Den typ av datakälla som fungerar som källmål för att utlösa Azure Database for MySQL-import. Godkända värden: [azure_blob]. Beskrivning av godkända värden – azure_blob: Azure Blob Storage.
datakälla {resourceID} Resurs-ID för Azure Blob-containern.
data-source-backup-dir mysql_percona_backup Katalogen för Azure Blob Storage-containern där säkerhetskopieringsfilen laddades upp. Det här värdet krävs bara när säkerhetskopieringsfilen inte lagras i rotmappen för Azure Blob-containern.
data-source-sas-token {sas-token} SAS-token (Signatur för delad åtkomst) som genererats för att bevilja åtkomst till import från Azure Blob Storage-containern.
resource-group test-rg Namnet på Azure-resursgruppen för målet Azure Database for MySQL – flexibel server.
läge Offline Läget för Azure Database for MySQL-import. Godkända värden: [Offline]; Standardvärde: Offline.
plats westus Azure-platsen för källan Azure Database for MySQL – flexibel server.
name test-flexible-server Ange ett unikt namn för din azure-måldatabas för MySQL – flexibel server. Ditt servernamn får bara innehålla gemener, siffror och bindestreck. Det måste innehålla mellan 3 och 63 tecken. Obs! Den här servern distribueras i samma prenumeration, resursgrupp och region som källan.
admin-user adminuser Användarnamnet för administratörsinloggningen för din azure database for MySQL – flexibel server. Det kan inte vara azure_superuser, administratör, administratör, rot, gäst eller offentlig.
admin-password Lösenord Administratörsanvändarens lösenord för din azure-måldatabas för MySQL – flexibel server. Det måste innehålla mellan 8 och 128 tecken. Lösenordet måste innehålla tecken från tre kategorier: engelska versaler, engelska gemener, siffror och icke-numeriska tecken.
sku-name GP_Gen5_2 Ange namnet på prisnivån och beräkningskonfigurationen för din azure database for MySQL – flexibel server. Följer konventionen {prisnivå}{beräkningsgenerering}{vCores} i snabbformat. Mer information finns i prisnivåerna .
nivå Burstbar Beräkningsnivå för azure database for MySQL – flexibel målserver. Accepterade värden: Burstable, GeneralPurpose, MemoryOptimized; Standardvärde: Burstable.
offentlig åtkomst 0.0.0.0 Avgör offentlig åtkomst för azure database for MySQL – flexibel målserver. Ange en eller flera IP-adresser som ska ingå i listan över tillåtna IP-adresser. IP-adressintervall måste vara streckavgränsade och inte innehålla några blanksteg. Om du anger 0.0.0.0 kan offentlig åtkomst från alla resurser som distribueras i Azure komma åt servern. Om du ställer in den på "Ingen" anges servern i läget för offentlig åtkomst men skapar ingen brandväggsregel.
vnet myVnet Namn eller ID för ett nytt eller befintligt virtuellt nätverk. Om du vill använda ett virtuellt nätverk från en annan resursgrupp eller prenumeration anger du ett resurs-ID. Namnet måste vara mellan 2 och 64 tecken. Namnet måste börja med en bokstav eller siffra, sluta med en bokstav, ett nummer eller understreck och får endast innehålla bokstäver, siffror, understreck, punkter eller bindestreck.
subnet mySubnet Namn eller resurs-ID för ett nytt eller befintligt undernät. Om du vill använda ett undernät från en annan resursgrupp eller prenumeration anger du resurs-ID i stället för namn. Observera att undernätet delegeras till flexibleServers. Efter delegering kan det här undernätet inte användas för någon annan typ av Azure-resurser.
private-dns-zone myserver.private.contoso.com Namn eller ID för ny eller befintlig privat DNS-zon. Du kan använda den privata DNS-zonen från samma resursgrupp, en annan resursgrupp eller en annan prenumeration. Om du vill använda en zon från en annan resursgrupp eller prenumeration anger du resurs-ID. CLI skapar en ny privat DNS-zon inom samma resursgrupp som det virtuella nätverket om det inte tillhandahålls av användarna.
key nyckelidentifierare för testKey Resurs-ID för den primära nyckelvalvsnyckeln för datakryptering.
identitet testIdentity Namnet eller resurs-ID:t för den användartilldelade identiteten för datakryptering.
storage-size 32 Lagringskapaciteten för Azure Database for MySQL – flexibel målserver. Minimivärdet är 20 GiB och max 16 TiB.
taggar key=value Ange namnet på Azure-resursgruppen.
version 5.7 Serverns huvudversion av målet Azure Database for MySQL – flexibel server.
hög tillgänglighet ZoneRedundant Aktivera (ZoneRedundant eller SameZone) eller inaktivera funktionen med hög tillgänglighet för azure database for MySQL – flexibel server. Godkända värden: Disabled, SameZone, ZoneRedundant; Standardvärde: Inaktiverat.
zon 1 Tillgänglighetszon som resursen ska etableras i.
standby-zone 3 Tillgänglighetszoninformationen för väntelägesservern när hög tillgänglighet är aktiverad.
storage-auto-grow Aktiverat Aktivera eller inaktivera automatisk lagringsökning för Azure Database for MySQL – flexibel målserver. Standardvärdet är Aktiverat. Godkända värden: Inaktiverad, Aktiverad; Standardvärde: Aktiverat.
Iops 500 Antal IOPS som ska allokeras för målet azure database for MySQL – flexibel server. Du får en viss mängd kostnadsfri IOPS baserat på beräkning och lagring som etablerats. Standardvärdet för IOPS är kostnadsfri IOPS. Mer information om IOPS baserat på beräkning och lagring finns i IOPS i Azure Database for MySQL – flexibel server.

Migrera till flexibel server med minimal stilleståndstid

Du kan konfigurera datareplikering mellan källan och målet genom att följa stegen här för att utföra en onlinemigrering efter att du har slutfört den första seedingen från säkerhetskopieringsfilen med hjälp av Azure Database for MySQL-import. Du kan använda bin-log-positionen som samlas in när du använder säkerhetskopieringsfilen med Percona XtraBackup för att konfigurera positionsbaserad replikering baserad på bin-log.

Hur lång tid tar det för Azure Database for MySQL Import att migrera min MySQL-instans?

Prestandatestade baserat på lagringsstorlek.

Lagringsstorlek för säkerhetskopieringsfil Importtid
1 GiB 0 min 23 sek
10 GiB 4 min 24 sek
100 GiB 10 min 29 sek
500 GiB 13 min 15 sek
1 TB 22 min 56 sekunder
10 TB 2 timmar 5 min 30 sek

När lagringsstorleken ökar ökar också den tid som krävs för datakopiering, nästan i en linjär relation. Det är dock viktigt att observera att kopieringshastigheten kan påverkas avsevärt av nätverksfluktuationer. Därför bör de uppgifter som anges här endast ses som en referens.

Nästa steg