Självstudie: Migrera Azure Database for MySQL – enskild server till flexibel server online med DMS via Azure-portalen

Kommentar

Den här artikeln innehåller referenser till termen slav, 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.

Du kan migrera en instans av Azure Database for MySQL – enskild server till Azure Database for MySQL – flexibel server med hjälp av Azure Database Migration Service (DMS), en fullständigt hanterad tjänst som är utformad för att möjliggöra sömlösa migreringar från flera databaskällor till Azure-dataplattformar. I den här självstudien ska vi utföra en onlinemigrering av en exempeldatabas från en enskild Azure Database for MySQL-server till en flexibel MySQL-server (båda kör version 5.7) med hjälp av en DMS-migreringsaktivitet.

Kommentar

DMS onlinemigrering är nu allmänt tillgänglig. DMS stöder migrering till MySQL-versionerna 5.7 och 8.0 och stöder även migrering från MySQL-servrar med lägre version (v5.6 och senare) till servrar med högre version. Dessutom stöder DMS migreringar mellan regioner, resursöverskridande grupper och migreringar mellan prenumerationer, så att du kan välja en region, resursgrupp och prenumeration för målservern som skiljer sig från vad som anges för källservern.

I den här självstudien får du lära dig att:

  • Implementera metodtips för att skapa en flexibel server för snabbare datainläsning med DMS.
  • Skapa och konfigurera en flexibel målserver.
  • Skapa en DMS-instans.
  • Skapa ett MySQL-migreringsprojekt i DMS.
  • Migrera ett MySQL-schema med DMS.
  • Köra migreringen.
  • Övervaka migreringen.
  • Utför steg 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ända en befintlig instans av Azure Database for MySQL – enskild server (källservern).
  • Kontrollera att följande krav är uppfyllda för att slutföra onlinemigreringen:
    • Använd det kommandoradsverktyg för MySQL som du väljer för att kontrollera att log_bin är aktiverat på källservern genom att köra kommandot: VISA VARIABLER SOM "log_bin". Om log_bin inte är aktiverat måste du aktivera det innan du påbörjar migreringen.
    • Kontrollera att användaren har behörigheten "REPLIKERINGSKLIENT" och "REPLIKERINGSSLAV" på källservern för att läsa och tillämpa bin-loggen.
    • Om du riktar in dig på en onlinemigrering konfigurerar du parametern binlog_expire_logs_seconds på källservern så att binlogfilerna inte rensas innan repliken genomför ändringarna. Vi rekommenderar att du startar minst två dagar. Efter en snabb snabb återställning kan du återställa värdet.
  • För att slutföra en schemamigrering måste användaren som utför migreringen på källservern ha följande behörigheter:
    • "SELECT" -behörighet på servernivå på källan.
    • Om du migrerar vyer måste användaren ha behörigheten "VISA VY" på källservern och behörigheten "SKAPA VY" på målservern.
    • Om utlösare migreras måste användaren ha behörigheten "TRIGGER" på käll- och målservern.
    • Om du migrerar rutiner (procedurer och/eller funktioner) måste användaren ha behörigheten "CREATE ROUTINE" och "ALTER ROUTINE" på servernivå på målet.
    • Om du migrerar händelser måste användaren ha behörigheten "EVENT" på käll- och målservern.
    • Om du migrerar användare/inloggningar måste användaren ha behörigheten "SKAPA ANVÄNDARE" på målservern.
    • "DROP" -behörighet på servernivå på målet för att släppa tabeller som kanske redan finns. Till exempel vid återförsök av en migrering.
    • Behörigheten "REFERENSER" på servernivå på målet för att skapa tabeller med sekundärnycklar.
    • Om du migrerar till MySQL 8.0 måste användaren ha behörigheten "SESSION_VARIABLES_ADMIN" på målservern.
    • "CREATE" -behörighet på servernivå på målet.
    • "INSERT" -behörighet på servernivå på målet.
    • "UPPDATERA" behörighet på servernivå på målet.
    • "DELETE" -behörighet på servernivå på målet.

Begränsningar

När du förbereder migreringen bör du tänka på följande begränsningar.

  • När du migrerar icke-tabellobjekt har DMS inte stöd för att byta namn på databaser.
  • När du migrerar till en målserver med bin_log aktiverat måste du aktivera log_bin_trust_function_creators för att skapa rutiner och utlösare.
  • DMS stöder för närvarande inte migrering av DEFINER-satsen för objekt. Alla objekttyper med definierare på källan tas bort. Efter migreringen anges standarddefinieraren för alla objekt som stöder en definitionssats och som skapas under schemamigreringen till den inloggning som används för att köra migreringen.
  • För närvarande stöder DMS endast migrering av ett schema som en del av dataflytt. Om inget har valts för dataflytt sker inte schemamigreringen. Observera att om du väljer en tabell för schemamigrering så väljs den även för dataflytt.
  • Stöd för onlinemigrering är begränsat till ROW binlog-formatet.
  • Onlinemigrering stöder nu replikering av DDL-instruktioner vid migrering till en flexibel Azure Database for MySQL-målserver v8.0 eller v5.7.
    • Replikering av instruktioner stöds för databaser, tabeller och schemaobjekt (vyer, rutiner, utlösare) som har valts för schemamigrering när du konfigurerar en Azure DMS-migreringsaktivitet. Instruktioner för datadefinition and administration för databaser, tabeller och schemaobjekt som inte är valda kommer inte att replikeras. Om du väljer en hel server för migrering replikeras instruktioner för tabeller, databaser och schemaobjekt som skapas på källservern när den första inläsningen har slutförts.
    • Azure DMS-instruktionsreplikering stöder alla datadefinitionsinstruktioner som anges här, med undantag för följande kommandon: • LOGFILE GROUP-instruktioner • SERVER-instruktioner • SPATIAL REFERENCE SYSTEM-instruktioner • TABLESPACE-instruktioner
    • Azure DMS-instruktionsreplikering stöder alla instruktioner för dataadministration – kontohantering som anges här, med undantag för följande kommandon:
      • ANGE STANDARDROLL
      • ANGE LÖSENORD
    • Azure DMS-instruktionsreplikering stöder alla instruktioner för dataadministration – tabellunderhåll som anges här, med undantag för följande kommandon:
      • REPAIR TABLE
      • ANALYZE TABLE
      • CHECKSUM TABLE

Metodtips för att skapa en flexibel server för snabbare datainläsningar med hjälp av DMS

DMS stöder migreringar mellan regioner, grupper och prenumerationer. Därmed kan du 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.

  • Välj beräkningsstorlek och beräkningsnivå för den flexibla målservern baserat på den enskilda källserverns prisnivå och virtuella kärnor baserat på informationen i följande tabell.

    Prisnivå för enskild server Virtuella kärnor för enskild server Beräkningsstorlek för flexibel server Beräkningsnivå för flexibel server
    Basic* 1 Generell användning Standard_D16ds_v4
    Basic* 2 Generell användning Standard_D16ds_v4
    Generell användning* 4 Generell användning Standard_D16ds_v4
    Generell användning* 8 Generell användning Standard_D16ds_v4
    Generell användning 16 Generell användning Standard_D16ds_v4
    Generell användning 32 Generell användning Standard_D32ds_v4
    Generell användning 64 Generell användning Standard_D64ds_v4
    Minnesoptimerad 4 Affärskritisk Standard_E4ds_v4
    Minnesoptimerad 8 Affärskritisk Standard_E8ds_v4
    Minnesoptimerad 16 Affärskritisk Standard_E16ds_v4
    Minnesoptimerad 32 Affärskritisk Standard_E32ds_v4

* För migreringen väljer du Beräkning av generell användning 16 virtuella kärnor för den flexibla målservern för snabbare migreringar. Skala tillbaka till önskad beräkningsstorlek för målservern när migreringen är klar genom att följa rekommendationen om beräkningsstorlek i avsnittet Utföra aktiviteter efter migrering senare i den här artikeln.

  • MySQL-versionen för den flexibla målservern måste vara större än eller lika med den enskilda 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 preferens".
  • För nätverksanslutning går du till fliken Nätverk och väljer Privat åtkomst om den enskilda källservern har privata slutpunkter eller privata länkar konfigurerade. Annars väljer du Offentlig åtkomst.
  • Kopiera alla brandväggsregler från den enskilda källservern till den flexibla målservern.
  • Kopiera alla namn/värde-taggar från den enskilda till flex-servern under själva skapandet.

Skapa och konfigurera den flexibla målservern

Med dessa metodtips i åtanke skapar du din flexibla målserver och konfigurerar den sedan.

  • Skapa den flexibla målservern. Guidade steg finns i snabbstarten Skapa en flexibel Azure Database for MySQL-server.
  • Konfigurera den nya flexibla målservern enligt följande:
    • Användaren som utför migreringen kräver följande behörigheter:
      • Kontrollera att användaren har behörigheten "REPLICATION_APPLIER" eller "BINLOG_ADMIN" på målservern för att tillämpa lagerplatsloggen.
      • Kontrollera att användaren har behörigheten "REPLICATION SLAVE" på målservern.
      • Kontrollera att användaren har behörigheten "REPLIKERINGSKLIENT" och "REPLIKERINGSSLAV" på källservern för att läsa och tillämpa bin-loggen.
      • Om du vill skapa tabeller på målet måste användaren ha behörigheten "CREATE".
      • Om du migrerar en tabell med partitionsalternativen "DATA DIRECTORY" eller "INDEX DIRECTORY" måste användaren ha behörigheten "FILE".
      • Om du migrerar till en tabell med alternativet "UNION" måste användaren ha behörigheten "SELECT", "UPDATE" och "DELETE" för de tabeller som du mappar till en MERGE-tabell.
      • Om du migrerar vyer måste du ha behörigheten "SKAPA VY". Tänk på att vissa privilegier kan vara nödvändiga beroende på innehållet i vyerna. Mer information finns i MySQL-dokumenten som är specifika för din version för "CREATE VIEW STATEMENT".
      • Om du migrerar händelser måste användaren ha behörigheten "EVENT".
      • Om utlösare migreras måste användaren ha behörigheten "TRIGGER".
      • Om du migrerar rutiner måste användaren ha behörigheten "SKAPA RUTIN".
    • Konfigurera serverparametrarna på den flexibla målservern enligt följande:
      • Ange TLS-versionen och require_secure_transport-serverparametern så att de matchar värdena på källservern.
      • Ange sql_mode-serverparametern så att den matchar värdena på källservern.
      • Konfigurera serverparametrar på målservern så att de matchar alla värden som inte är standardvärden som används på källservern.
      • Konfigurera följande serverparametrar enligt beskrivningen för att säkerställa snabbare datainläsningar vid användning av DMS.
        • max_allowed_packet – inställd på 1073741824 (dvs. 1 GB) för att förhindra anslutningsproblem på grund av stora rader.
        • slow_query_log – ställ in på AV för att stänga av loggen för långsamma frågor. Detta eliminerar de omkostnader som orsakas av långsam frågeloggning under datainläsningar.
        • innodb_buffer_pool_size – kan bara ökas genom att skala upp beräkning för Azure Database for MySQL-servern. Skala upp servern till 64 VCore General Purpose SKU från prisnivån i portalen under migreringen för att öka innodb_buffer_pool_size.
        • innodb_io_capacity & innodb_io_capacity_max – Ändra till 9000 från serverparametrarna i Azure-portalen för att förbättra I/O-användningen för att optimera för migreringshastighet.
        • innodb_write_io_threads – Ändra till 4 från serverparametrarna i Azure-portalen för att förbättra migreringens hastighet.
    • Konfigurera replikerna på målservern så att de matchar dem på källservern.
    • Replikera följande serverhanteringsfunktioner från den enskilda källservern till den flexibla målservern:
      • Rolltilldelningar, roller, neka tilldelningar, klassiska administratörer, åtkomstkontroll (IAM)
      • Lås (skrivskyddad och ta bort)
      • Aviseringar
      • Uppgifter
      • Resource Health-aviseringar

Konfigurera DMS

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

Registrera resursprovidern

Utför följande steg för att registrera resursprovidern Microsoft.DataMigration.

  1. Innan du skapar din första DMS-instans loggar du in på Azure-portalen och söker sedan efter och väljer Prenumerationer. Screenshot of a Select subscriptions from Azure Marketplace.

  2. Välj den prenumeration som du vill använda för att skapa DMS-instansen och välj sedan Resursprovidrar. Screenshot of a Select Resource Provider.

  3. Sök efter termen "Migrering" och välj sedan Registrera för Microsoft.DataMigration. Screenshot of a Register your resource provider.

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. Screenshot of a Search Azure Database Migration Service.

  2. På sidan Azure Database Migration Service väljer du Skapa. Screenshot of a Create Azure Database Migration Service instance.

  3. På sidan Välj migreringsscenario och Database Migration Service under Migreringsscenario väljer du Azure Database for MySQL-Single Server som källservertyp och väljer sedan Azure Database for MySQL som målservertyp och väljer sedan Välj. Screenshot of a Select Migration Scenario.

  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 sedan att Azure har valts som tjänstläge.

  6. Till höger om prisnivån väljer du Konfigurera nivå. Screenshot of a Select Configure Tier.

  7. På sidan Konfigurera väljer du prisnivån Premium med 4 virtuella kärnor för din DMS-instans och väljer sedan Använd. DMS Premium med 4 virtuella kärnor är kostnadsfritt i 6 månader (183 dagar) från tidpunkten då DMS-tjänsten skapades innan någon avgift tas ut. Mer information om DMS-kostnader och prisnivåer finns på prissidan. Screenshot of a Select Pricing tier.

    Därefter måste vi ange det virtuella nätverk som ger DMS-instansen åtkomst till den enskilda 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 VNet i listan eller anger namnet på det nya virtuella nätverk som ska skapas och väljer sedan Granska + skapa. Mer information finns i artikeln Skapa ett virtuellt nätverk med hjälp av Azure-portalen.. Screenshot of a Select Networking.

    Viktigt!

    Ditt virtuella nätverk måste konfigureras med åtkomst till både den enskilda källservern och den flexibla målservern, så se till att:

    • Skapa en brandväggsregel på servernivå eller konfigurera VNET-tjänstslutpunkter för både käll- och mål-Azure Database for MySQL-servrar för att ge VNet för Azure Database Migration Service åtkomst till käll- och måldatabaserna.
    • Se till att dina NSG-regler (VNet Network Security Group) inte blockerar utgående port 443 för ServiceTag 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.

    Kommentar

    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 sedan Skapa. Screenshot of a Select Review+Create.

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

  11. Välj Gå till resurs. Screenshot of a Select Go to resource.

  12. Identifiera IP-adressen för DMS-instansen från resursöversiktssidan och skapa en brandväggsregel för din enda källserver och den flexibla målserverns tillåtna ip-adress för DMS-instansen.

Skapa ett migreringsprojekt

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

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

    Screenshot of a Locate all instances of Azure Database Migration Service.

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

    Screenshot of a Select a new migration project.

  3. På sidan Nytt migreringsprojekt anger du ett namn för projektet. I rutan Typ av källserver väljer du Azure Database For MySQL – enskild server. I rutan Val av målservertyp väljer du Azure Database For MySQL – flexibel server, i rutan Migreringsaktivitetstyp väljer du Online-datamigrering och sedan Skapa och kör aktivitet.

    Kommentar

    Om du endast väljer Skapa projekt som migreringsaktivitetstyp skapas bara migreringsprojektet. Sedan kan du köra migreringsprojektet vid ett senare tillfälle.

    Screenshot of a Create a new migration project.

Konfigurera migreringsprojektet

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

  1. På skärmen Välj källa letar du reda på servern baserat på prenumerationen, platsen och resursgruppen. Användarnamnet fylls i automatiskt och anger sedan lösenordet för källservern. Screenshot of an Add source details screen.

  2. Välj Nästa: Välj mål>> och leta sedan upp servern baserat på prenumerationen, platsen och resursgruppen på skärmen Välj mål . Användarnamnet fylls i automatiskt och anger sedan lösenordet för den flexibla målservern. Screenshot of a Select target.

  3. Välj Nästa: Välj databaser>> och välj sedan Migrera alla tillämpliga databaser under Servermigreringsalternativfliken Välj databaser. Välj sedan de serverobjekt som du vill migrera under Välj databaser.

    Kommentar

    Det finns nu alternativet Migrera alla tillämpliga databaser när du väljer det här alternativet migrerar alla användarskapade databaser och tabeller. Observera att eftersom Azure Database for MySQL – Flexibel server inte stöder databaser med blandade skiftlägen kommer databaser med blandade fall på källan inte att inkluderas för en onlinemigrering.

Screenshot of a Select database.

  1. I avsnittet Välj databaser går du till Källdatabas och väljer de databaser som ska migreras.

    Objekt som inte är tabellobjekt i de databaser som du har angett migreras, medan de objekt som du inte valde hoppas över. Du kan bara välja de käll- och måldatabaser vars namn matchar det på käll- och målservern. Om du väljer en databas på källservern som inte finns på målservern skapas den på målservern.

  2. Välj Nästa: Välj tabeller>> för att gå till fliken Välj tabeller .

    Innan fliken fylls i hämtar DMS tabellerna från de valda databaserna på källan och målet och avgör sedan om tabellen finns och innehåller data.

  3. Välj de tabeller som du vill migrera.

    Om den valda källtabellen inte finns på målservern ser onlinemigreringsprocessen till att tabellschemat och data migreras till målservern. Screenshot of a Select Tables.

    DMS verifierar dina indata och om valideringen godkänns kan du starta migreringen.

  4. När du har konfigurerat för schemamigrering väljer du Granska och starta migreringen.

    Kommentar

    Du behöver bara gå till fliken Konfigurera migreringsinställningar om du försöker felsöka misslyckade migreringar.

  5. På fliken Sammanfattning i textrutan Aktivitetsnamn anger du ett namn för migreringsaktiviteten och granskar sedan sammanfattningen för att se till att käll- och målinformationen matchar det du angav tidigare. Screenshot of a Select Summary.

  6. Välj Starta migrering.

    Migreringsaktivitetsfönstret visas och Status för aktiviteten är Initieras. Statusen ändras till Körs när tabellmigreringarna startar. Screenshot of a Running status.

Övervaka migreringen

  1. När aktiviteten Inledande inläsning har slutförts går du till fliken Initial inläsning för att visa slutförandestatus och antalet slutförda tabeller. Screenshot of a completed initial load migration.

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

  2. Välj Uppdatera för att uppdatera visningen och visa sekunderna bakom källan när och när det behövs.

    Screenshot of a Monitoring migration.

  3. Övervaka sekunderna bakom källan och så snart den närmar sig 0 börjar du snabbt genom att gå till fliken Starta snabbmeny högst upp på skärmen för migreringsaktivitet.

  4. Följ stegen i snabbfönstret innan du är redo att utföra en snabb användning.

  5. När du har slutfört alla steg väljer du Bekräfta och väljer sedan Använd. Screenshot of a Perform cutover.

Utföra aktiviteter efter migreringen

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

  • Utför rimlighetstestning för programmet mot måldatabasen för att certifiera migreringen.

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

  • Ta bort den enskilda källservern när du har säkerställt programkontinuitet.

  • Om du har skalat upp den flexibla målservern för snabbare migrering skalar du ner den genom att välja beräkningsstorlek och beräkningsnivå för den flexibla servern baserat på den enskilda källserverns prisnivå och virtuella kärnor baserat på informationen i följande tabell.

    Prisnivå för enskild server Virtuella kärnor för enskild server Beräkningsstorlek för flexibel server Beräkningsnivå för flexibel server
    Grundläggande 1 Burstbar Standard_B1s
    Grundläggande 2 Burstbar Standard_B2s
    Generell användning 4 Generell användning Standard_D4ds_v4
    Generell användning 8 Generell användning Standard_D8ds_v4
  • Utför följande steg för att rensa DMS-resurserna:

    1. I Azure Portal 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 namnet på instansen i textrutan ANGE NAMNET PÅ DATAMIGRERINGSTJÄNSTEN och väljer sedan Ta bort.

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, ta med serverns SKU, processoranvändning, lagring, databasstorlekar och användning av tillägg som några av de kritiska data för att underlätta 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 för att säkerställa förväntad prestanda och resultat. Om du migrerar till en högre MySQL-version testar du programkompatibiliteten.
    • När testningen är klar kan du migrera produktionsdatabaserna. Nu måste du slutföra dag och tid för produktionsmigrering. 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 startar på den flexibla målservern, övervaka databasens prestanda noga för att avgöra om det finns behov av prestandajustering.

Nästa steg