Dela via


Självstudie: Migrera från MySQL till Azure Database for MySQL med fysisk DMS-migrering med Azure-portalen (förhandsversion)

Anmärkning

Den här artikeln innehåller referenser till termen slave, en term som Microsoft inte längre använder. När termen tas bort från programvaran tar vi bort den från den här artikeln.

Med hjälp av en fysisk säkerhetskopieringsfil kan du sömlöst migrera din arbetsbelastning mySQL lokalt eller virtuell dator (VM) i Azure eller andra molntjänster till Azure Database for MySQL. Med fysiska säkerhetskopieringsfiler kan du snabbt återställa källservern till den flexibla målserverinstansen med minimal stilleståndstid. I den här självstudien visar vi hur du använder Azure DMS för att migrera MySQL-arbetsbelastningar från lokala eller virtuella datorer till Azure Database for MySQL med minimal stilleståndstid med Percona XtraBackup.

Anmärkning

DMS fysisk online-datamigrering är nu i offentlig förhandsversion. DMS stöder migrering till MySQL-versionerna 5.7 och 8.0 och migrering från mySQL-servrar med lägre version (v5.6 och senare) till en högre version av MySQL-servern. Dessutom stöder DMS migreringar mellan regioner, resursöverskridande grupper och migreringar mellan prenumerationer.

I den här tutorialen lär du dig följande:

  • Skapa och konfigurera MySQL-källservern, den flexibla målservern och andra nödvändiga tjänster.
  • Skapa en DMS-instans.
  • Skapa ett MySQL-migreringsprojekt för fysisk migrering i DMS.
  • Köra migreringen.
  • Övervaka migreringen.
  • Utföra aktiviteter efter migreringen.
  • Implementera metodtips för att utföra en migrering.

Förutsättningar

För att slutföra den här kursen behöver du:

  • Skapa eller använd en befintlig MySQL-instans (källservern, antingen lokalt eller på virtuella datorer i Azure eller andra moln).

  • För att slutföra onlinemigreringen måste du se till att följande krav finns på källservern mySQL:

    • Kontrollera att parametern lower_case_table_names är inställd på 1.
    • Kontrollera att parametern innodb_file_per_table är inställd på PÅ
    • Systemtabellområdet ska vara ibdata1.
    • Ibdata1-storleken för systemtabellområdet ska vara större än eller lika med 12 MB (MySQL-standard).
    • Kontrollera att parametern innodb_page_size är inställd på 16384 (MySQL Default)
    • Endast INNODB-lagringsmotorn stöds.
    • Kontrollera att kvarhållningsperioden för binlog är korrekt inställd med hjälp av parametern binlog_expire_logs_seconds för att slutföra onlinemigreringen.
    • Se till att användaren som används för migrering har behörigheten "REPLIKERINGSKLIENT" och "REPLIKERINGSSLAV" på källservern för att läsa och tillämpa bin-loggen.
  • 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 utföra en fullständig säkerhetskopia:

    • Installera Percona XtraBackup på den lokala arbetsbelastningen eller vm-arbetsbelastningen. För MySQL-motorversion v5.7 installerar du Percona XtraBackup version 2.4, se Installera Percona XtraBackup 2.4. För MySQL-motorversion v8.0 installerar du Percona XtraBackup version 8.0, se Installera Percona XtraBackup 8.0.

    • Anvisningar för hur du gör en fullständig säkerhetskopiering med Percona XtraBackup 2.4 finns i Fullständig säkerhetskopiering. Anvisningar för hur du gör en fullständig säkerhetskopiering med Percona XtraBackup 8.0 finns i Fullständig säkerhetskopiering

    • Kör kommandona nedan i ordning när du utför fullständig säkerhetskopiering:

      • xtrabackup --backup --host={host} --user={user} --password={password} --target-dir={backup__dir_path}
      • xtrabackup --prepare --{backup_dir_path} (Ange samma säkerhetskopieringssökväg här som i föregående kommando)
    • Överväganden när du tar Percona XtraBackup:

      • Kontrollera att du genomför både säkerhetskopieringsstegen och förberedelsestegen.
      • Kontrollera att det inte finns några fel i säkerhetskopieringen och förbered steget.
      • Behåll säkerhetskopieringen och förbered stegloggarna för Azure Support, vilket krävs om det uppstår fel.

      Viktigt!

      Försök att komma åt skadade tabeller som importerats från en källserver kan orsaka att den flexibla målservern kraschar. Därför rekommenderar vi att du utför en "mysqlcheck/Optimize Table"-åtgärd på källservern innan du säkerhetskopierar med verktyget Percona XtraBackup.

  • Skapa den flexibla målservern. Guidade steg finns i snabbstarten Snabbstart: Skapa en instans av Azure Database for MySQL med Azure-portalen.

    • På den flexibla målservern anger du max_allowed_packet till 1073741824 (dvs. 1 GB) för att förhindra anslutningsproblem på grund av en stor raddataöverföring.
    • Ange sql_mode-serverparametern på den flexibla målservern så att den matchar källserverkonfigurationen.
    • Ange TLS-versionen och require_secure_transport serverparametrar så att de matchar källserverns värden.
    • Konfigurera serverparametrar på den flexibla målservern så att de matchar alla värden som inte är standardvärden som används på källservern.
  • Skapa en Azure Blob-container och hämta SAS-token (Signatur för delad åtkomst) (Azure Portal eller Azure CLI) för containern. Se till att du beviljar Lägg till, Skapa och Skriv i listrutan Behörigheter .

    Viktigt!

    Spara blob-SAS-token och URL-värden på en säker plats. De visas bara en gång och kan inte hämtas när fönstret har stängts.

  • Ladda upp den fullständiga säkerhetskopieringsfilen från Percona Xtrabackup på {backup_dir_path} till Azure Blob Storage. Följ de här stegen för att ladda upp en fil.

  • DMS använder binlog-positionerna som samlas in när du tar den fullständiga säkerhetskopieringen från xtrabackup_binlog_info-filen för att automatiskt initiera replikeringsprocessen för en minimal stilleståndstidsmigrering.

  • Azure Storage-kontot bör vara offentligt tillgängligt med hjälp av SAS-token. Azure Storage-konto med konfiguration av virtuellt nätverk stöds inte.

  • En appregistrering måste skapas och en appnyckel med klienthemlighet måste genereras för att kunna användas i arbetsflödet för fysisk migrering. Den här appen kan användas med lagringskontot och den flexibla målservern för att skapa SAS-nycklar och uppdatera servern.

  • Tilldela RBAC-rolltilldelning med appregistreringen för lagringskontot med följande roller.

    • Lagringsblobdataläsare för läsning av blobcontainerfiler.
  • Tilldela Contributor-rollen till appregistreringen på målservern för flexibel MySQL.

Begränsningar

Tänk på följande begränsningar när du förbereder migreringen.

Källserverkonfigurationen har inte migrerats. Du måste konfigurera den flexibla målservern på rätt sätt innan du påbörjar migreringen.

  • Migrering för krypterade säkerhetskopior stöds inte.
  • Annullering av migrering under import stöds inte.
  • Stöd för onlinemigrering är begränsat till row binlog-formatet.
  • Azure Database for MySQL stöder inte databaser med blandade fall.
  • Azure DMS-instruktionen eller binlogreplikeringen stöder inte följande syntax: "CREATE TABLE b as SELECT * FROM 'a';". Replikeringen av den här DDL:n resulterar i följande fel: "Endast BINLOG INSERT-, COMMIT- och ROLLBACK-instruktioner tillåts efter CREATE TABLE med START TRANSACTION-instruktionen."
  • Migreringstiden påverkas av beräkningsunderhållet på serverdelen, vilket kan återställa förloppet.

Metodtips för snabbare datainläsning med DMS

DMS stöder migreringar mellan regioner, resursöverskridande grupper och migreringar mellan prenumerationer, så att du kan välja lämplig region, resursgrupp och prenumeration för din flexibla målserver. Innan du skapar din flexibla målserver bör du överväga följande konfigurationsvägledning för att säkerställa snabbare datainläsning med hjälp av DMS.

  • För en optimal migreringsupplevelse väljer du beräkningsstorlek och beräkningsnivå för den flexibla målservern baserat på mySQL-källserverkonfigurationen.

    • Vi rekommenderar att du ställer in den flexibla målservern på en General-Purpose eller affärskritisk SKU under migreringen. När migreringen är klar kan du skala instansen till en lämplig storlek för att uppfylla dina programbehov.
  • MySQL-versionen av den flexibla målservern måste vara större än eller lika med mySQL-källserverns.

  • Om du inte behöver distribuera den flexibla målservern i en specifik zon anger du värdet för parametern Tillgänglighetszon till "Ingen inställning".

  • Överväg att distribuera både Azure Blob Storage och den flexibla målservern i samma region för bättre prestanda under importåtgärderna.

Konfigurera DMS

När din flexibla målserver har distribuerats och konfigurerats måste du konfigurera DMS för att migrera MySQL-servern till en flexibel server.

Registrera resursprovidern

För att registrera Microsoft. DataMigration-resursprovidern utför följande steg:

  1. Innan du skapar din första DMS-instans loggar du in på Azure-portalen och söker sedan efter och väljer Prenumerationer.

  2. Välj den prenumeration som du vill skapa DMS-instansen för och välj sedan Resursprovidrar.

    Skärmbild av en resursleverantör.

  3. Sök efter "Migrering" och sedan efter Microsoft.DataMigration, välj Registrera.

    Skärmbild av att registrera din resursleverantör.

Skapa en DMS-instans (Database Migration Service)

  1. I Azure-portalen väljer du + Skapa en resurs, söker efter termen "Azure Database Migration Service" och väljer sedan Azure Database Migration Service i listrutan.

    Skärmbild av DMS på Azure Marketplace.

  2. På skärmen Azure Database Migration Service väljer du Skapa.

    Skärmbild av skapa från Azure Marketplace.

  3. På sidan Välj migreringsscenario och Database Migration Service under Migreringsscenario väljer du MySQL som källservertyp och väljer sedan Azure Database for MySQL som målservertyp och väljer sedan Välj.

  4. På sidan Skapa migreringstjänst går du till fliken Grundläggande under Projektinformation, väljer lämplig prenumeration och väljer sedan en befintlig resursgrupp eller skapar en ny.

  5. Under Instansinformation anger du ett namn för tjänsten, väljer en region och kontrollerar att Azure har valts som tjänstläge.

  6. Till höger om prisnivån väljer du Konfigurera nivå.

    Skärmbild av välj konfigurera-nivå.

  7. Välj prisnivån Premium med 4 virtuella kärnor för din DMS-instans på sidan Konfigurera och välj sedan Använd.

    DMS Premium 4-vCore är kostnadsfritt i sex månader (183 dagar) från det datum då DMS-tjänsten skapades innan avgifter tillkommer. Mer information om DMS-kostnader och prisnivåer finns på prissidan.

    Skärmbild av nivån Välj pris.

    Sedan måste vi ange det virtuella nätverk (virtuellt nätverk) som ger DMS-instansen åtkomst till MySQL-källservern och den flexibla målservern.

  8. På sidan Skapa migreringstjänst väljer du Nästa: Nätverk >>.

  9. På fliken Nätverk väljer du ett befintligt virtuellt nätverk i listan eller anger namnet på det nya virtuella nätverk som du vill skapa och väljer sedan Granska + Skapa.

    Mer information finns i artikeln Skapa ett virtuellt nätverk med hjälp av Azure Portal..

    Skärmbild av Select Network.

    Det virtuella nätverket måste konfigureras med åtkomst till både MySQL-källservern och den flexibla målservern, så se till att:

    • Skapa en brandväggsregel på servernivå för både MySQL-källservern och den flexibla MySQL-målservern för att ge det virtuella nätverket för Azure Database Migration Service åtkomst till käll- och måldatabaserna.
    • Se till att dina regler för nätverkssäkerhetsgruppen (NSG) inte blockerar ServiceTags utgående port 443 för ServiceBus, Storage och Azure Monitor. Mer information om NSG-trafikfiltrering för virtuella nätverk finns i Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.

    Anmärkning

    Om du vill lägga till taggar i tjänsten går du vidare till fliken Taggar genom att välja Nästa : Taggar. Det är valfritt att lägga till taggar i tjänsten.

  10. Gå till fliken Granska + skapa , granska konfigurationerna, visa villkoren och välj Skapa.

    Skärmbild av select review+create.

    Utrullningen av din DMS-instans börjar nu. Meddelandet "Distribution pågår" visas i några minuter och ändras sedan till "Distributionen är klar".

  11. Välj Gå till resurs.

    Skärmbild av en Välj Gå till resurs.

  12. Identifiera DMS-instansens IP-adress från resursöversiktssidan, skapa en brandväggsregel för mySQL-källservern och rikta in dig på en flexibel server som tillåter att IP-adressen för DMS-instansen anges.

Skapa ett migreringsprojekt

Utför följande steg för att skapa ett migreringsprojekt.

  1. I Azure-portalen väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

    Skärmbild av en DMS-sökning.

  2. I sökresultaten väljer du den DMS-instans som du skapade och väljer sedan + Nytt migreringsprojekt.

    Skärmbild av att skapa migreringsprojekt.

  3. På sidan Nytt migreringsprojekt anger du ett namn för projektet. I rutan Källservertyp väljer du MySQL. I markeringsrutan Målservertyp väljer du Azure Database For MySQL. I markeringsrutan Migreringsaktivitetstyp väljer du [Förhandsversion] Fysisk datamigrering online. Välj sedan Skapa och kör aktivitet.

    Välj Endast Skapa projekt som den migreringsaktivitetstyp som bara skapar migreringsprojektet. du kan sedan köra den senare.

    Skärmbild av att välja en migreringsaktivitet.

Konfigurera migreringsprojektet

Utför följande steg för att konfigurera DMS-migreringsprojektet.

  1. På skärmen Välj källa måste vi se till att DMS finns i det virtuella nätverket, som har anslutning till källservern. Här anger du källservernamn, serverport, användarnamn och lösenord till mySQL-källservern och väljer sedan Nästa: Välj mål >>

    Skärmbild av skärmen Lägg till källinformation.

  2. På skärmen Välj mål, under automatiskt serverval, väljer du Prenumeration, Plats, Resursgrupp, Azure Database for MySQL-servernamn, användarnamn, lösenord för din Azure Database for MySQL-målserver och väljer Nästa: Välj Säkerhetskopiering >>

    Skärmbild av ett Select-mål.

  3. På skärmen Välj säkerhetskopiering anger du program-ID för appregistreringen, klienthemlighet från appregistreringen, klient-ID från appregistreringen, prenumerationen, lagringskontots namn, blobcontainerns namn och namnet på säkerhetskopieringskatalogen där filerna percona xtrabackup lagras och väljer Nästa: Konfigurera migreringsinställningar >>

    Det finns nu alternativet Migrera användarkonton och behörigheter . När du väljer det här alternativet migreras alla inloggningsmigreringar. Dessutom kan du replikera alla DDL-instruktioner från MySQL-källservern till den flexibla målservern.

    Skärmbild av skärmen för att välja säkerhetskopiering.

  4. Om du vill anpassa migreringsinställningarna på skärmen Konfigurera migreringsinställningar markerar du kryssrutan eller går vidare till sammanfattningssidan genom att välja Nästa: Sammanfattning >>

    Skärmbild av konfigurationssidan för migreringsinställningar.

  5. På skärmen Sammanfattning i textrutan Aktivitetsnamn anger du ett namn för migreringsaktiviteten. Kontrollera att all migreringsrelaterad information är korrekt och välj sedan "Starta migrering".

    Skärmbild av sammanfattnings- och informationssidan för migrering.

  6. När migreringen startar visas migreringsaktivitetsfönstret. Under fliken "Initial Load" ändras statusen till Körs.

Övervaka migreringen

  1. När migreringen pågår kan du granska statusen för migreringen och meddelandetillstånden, till exempel Importera och Uppskattad tid som återstår för datainmatningen för fysiska säkerhetskopieringsfiler till den flexibla MySQL-målservern.

    Skärmbild av sidan för migreringsstatus.

    När den inledande inläsningsaktiviteten har slutförts har du automatiskt navigerat till fliken Replikera dataändringar. Du kan övervaka migreringsförloppet eftersom skärmen uppdateras automatiskt var 30:e sekund eller välj knappen Uppdatera.

  2. När den första datainmatningen är klar övervakar du fältet Sekunder bakom källan under fliken Replikera dataändringar . Så fort det är 0 börjar du snabbstarten genom att gå till knappen Starta snabbstart överst på skärmen för migreringsaktivitet. Välj Uppdatera för att uppdatera visningen och visa sekunderna bakom källan när det behövs.

    Skärmbild av övervakning av replikeringsstatus.

  3. Innan du är redo att utföra en omkoppling följer du steg 1 till och med 3 i omkopplingsfönstret.

  4. När du har slutfört alla steg väljer du Bekräfta och väljer sedan Använd.

    Skärmbild av en Perform cutover (Utför snabbhet).

Utföra aktiviteter efter migreringen

När migreringen är klar måste du slutföra följande aktiviteter efter migreringen.

  • Utför validering och dataintegrering mot måldatabasen för att certifiera slutförandet av migreringen med någon av de angivna metoderna.

    • Du kan verifiera data genom att jämföra radantal eller kontrollsumma mellan källservrar och flexibla målservrar.

    • Du kan dessutom gå till den flexibla målservern under inställningar, välja sidan Databaser och kontrollera att databaserna som är avsedda för migrering har migrerats till målet.

      Skärmbild av validering av migreringsmål.

  • Uppdatera anslutningssträng så att den pekar på den nya flexibla servern.

    • Utför följande steg för att rensa DMS-resurserna:
    1. I Azure-portalen väljer du Alla tjänster, söker efter Azure Database Migration Service och väljer sedan Azure Database Migration Services.

    2. Välj din migreringstjänstinstans i sökresultaten och välj sedan Ta bort tjänst.

    3. I bekräftelsedialogrutan anger du instansens namn i textrutan TYPE THE DATABASE MIGRATION SERVICE NAME (NAMN på databasmigreringstjänsten ) och väljer sedan Ta bort.

  • Skapa alla läsrepliker för den flexibla servern för skalbarhet och återställning.

Metodtips för migrering

När du utför en migrering bör du tänka på följande metodtips.

  • Som en del av identifieringen och utvärderingen bör du överväga server-SKU, CPU-användning, lagring, databasstorlekar och tilläggsanvändning som några av de kritiska data som kan hjälpa dig med migreringar.

  • Utför testmigreringar innan du migrerar för produktion:

    • Testmigreringar är viktiga för att säkerställa att du täcker alla aspekter av databasmigreringen, inklusive programtestning. Det bästa sättet är att börja med att köra en migrering endast i testsyfte. Efter att en nyligen påbörjad migrering går in i fasen för att replikera dataändringar med minimal fördröjning, använd endast ditt flexibla servermål för att köra testarbetsbelastningar. Använd det målet för att testa programmet och säkerställa förväntade prestanda och resultat. Testa för programkompatibilitet om du migrerar till en högre MySQL-version.

    • När testningen är klar kan du migrera produktionsdatabaserna. Nu måste du slutföra produktionsmigreringens dag och tid. Helst ska programanvändningen vara låg vid denna tidpunkt. Alla intressenter som måste delta bör vara tillgängliga och redo. Produktionsmigreringen kräver en noggrann övervakning. För en onlinemigrering måste replikeringen slutföras innan du utför övergången för att förhindra dataförlust.

  • Omdirigera alla beroende program för att få åtkomst till den nya primära databasen och se till att källservern är skrivskyddad. Öppna sedan programmen för produktionsanvändning.

  • När programmet börjar köras på den flexibla målservern övervakar du databasens prestanda noggrant för att avgöra om prestandajustering krävs.