Självstudie: Migrera Azure Database for MySQL – enskild server till flexibel server offline med DMS via Azure Portal

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 utför vi en offlinemigrering 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.

DMS stöder migrering från mySQL-servrar med lägre version (v5.6 och senare) till högre versioner. 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.

Viktigt!

För onlinemigreringar kan du använda funktionen Aktivera transaktionskonsekvens som stöds av DMS tillsammans med datareplikering eller replikera ändringar. Dessutom kan du använda onlinemigreringsscenariot för att migrera genom att följa självstudien här.

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).

  • För att slutföra en schemamigrering framgångsrikt på källservern krävs att användaren som utför migrationen har följande privilegier:

    • "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.

  • När du migrerar schemat har DMS inte stöd för att skapa en databas på målservern.

  • 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 tabeller 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. Om du väljer en tabell för schemamigrering markeras den också för dataflytt.

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
    Grundläggande 1 1 Generell användning Standard_D16ds_v4
    Grundläggande 1 2 Generell användning Standard_D16ds_v4
    Generell användning 1 4 Generell användning Standard_D16ds_v4
    Generell användning 1 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

    1 För migreringen väljer du 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 inställning".

  • 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 Snabbstart: Skapa en instans av Azure Database for MySQL med Azure Portal.

  • Fortsätt på följande sätt för att konfigurera den nyligen skapade flexibla målservern:

    • Användaren som utför migreringen kräver följande behörigheter:
      • Om du vill skapa tabeller på målet måste användaren ha behörigheten "CREATE".
      • 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".
    • Skapa en måldatabas, men den behöver inte fyllas i med tabeller/vyer osv.
      • Ange lämpligt tecken, sorteringar och andra tillämpliga schemainställningar innan du påbörjar migreringen, eftersom detta kan påverka standarduppsättningen i vissa objektdefinitioner.
      • Om du migrerar objekt som inte är tabellobjekt ska du dessutom använda samma namn för målschemat som används på källan.
    • 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 virtuella kärnor Generell användning 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 Portal 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 Portal 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 Portal och söker sedan efter och väljer Prenumerationer.

    Skärmbild av en Azure Marketplace.

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

    Skärmbild av en Välj resursprovider.

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

    Skärmbild av ett Välj register.

Skapa en DMS-instans (Database Migration Service)

  1. I Azure Portal 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 en Search Azure Database Migration Service.

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

    Skärmbild av instansen Skapa Azure Database Migration Service.

  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.

    Skärmbild av ett välj migreringsscenario.

  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å.

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

  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.

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

    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 Portal.

    Skärmbild av välj nätverk.

    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.

    Om du vill lägga till taggar i tjänsten väljer du först Nästa: Taggar för att gå vidare till fliken Taggar först. 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.

    Skärmbild av 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.

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

  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.

    Skärmbild av Hitta alla instanser av Azure Database Migration Service.

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

    Skärmbild av ett CSelect ett nytt migreringsprojekt.

  3. På sidan Nytt migreringsprojekt anger du ett namn för projektet. I markeringsrutan Källservertyp väljer du Azure Database For MySQL – enskild server. I rutan Målservertyp väljer du Azure Database For MySQL. I markeringsrutan Migreringsaktivitetstyp väljer du Offlinemigrering och sedan Skapa och kör aktivitet.

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

    Skärmbild av ett Skapa ett nytt migreringsprojekt.

Konfigurera migreringsprojektet

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

  1. Om du vill fortsätta med offlinemigreringen öppnar du en ny fönsterflik innan du konfigurerar Välj källa på skärmen och navigerar till källserverns översiktssida på Azure Portal och fortsätter till bladet Serverparametrar. Konfigurera värdet för read_only-serverparametern för källservern som .

    Om du ställer in källservern i skrivskyddat läge genom att uppdatera serverparametern innan migreringen påbörjas förhindrar du skriv-/borttagningsåtgärder på källservern under migreringen, vilket säkerställer måldatabasens dataintegritet när källan migreras.

    Om du utför en onlinemigrering skulle du också markera kryssrutan Aktivera transaktionskonsekvens på skärmen Välj källa. Mer information om konsekvent säkerhetskopiering finns i MySQL till Azure Database for MySQL Data Migration – MySQL Consistent Snapshot.

  2. Gå tillbaka till konfigurationsskärmen för migreringsprojektet och ange anslutningsinformation för MySQL-källinstansen på skärmen Välj källa .

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

  3. Välj Nästa: Välj mål>> och ange sedan anslutningsinformationen för den flexibla målservern på skärmen Välj mål .

    Skärmbild av ett Select-mål.

  4. Välj Nästa: Välj databaser>> och välj sedan de serverobjekt som du vill migrera på fliken Välj databaser under [Förhandsversion] Välj serverobjekt.

    Skärmbild av en Select-databas.

  5. 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.

  6. Välj Nästa: Välj databaser>> 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.

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

    Om du väljer en tabell i källdatabasen som inte finns i måldatabasen markeras rutan under Migrera schema som standard. För tabeller som finns i måldatabasen anger en anteckning att den valda tabellen redan innehåller data och kommer att trunkeras. Om schemat för en tabell på målservern inte matchar schemat på källan tas tabellen bort innan migreringen fortsätter.

    Skärmbild av en Välj tabeller.

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

  8. 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.

  9. 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.

    Skärmbild av en Välj sammanfattning.

  10. Välj Starta migrering.

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

Övervaka migreringen

  1. På skärmen migreringsaktivitet väljer du Uppdatera för att uppdatera visningen och visa förloppet och antalet slutförda tabeller.

  2. Om du vill se status för varje tabell under migreringen väljer du databasnamnet och väljer sedan Uppdatera för att uppdatera visningen.

  3. Välj Uppdatera för att uppdatera visningen tills statusen för migreringen visas som Slutförd.

    Skärmbild av migreringsstatus.

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 målservern.

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

  • Om du skalar upp den flexibla målservern för snabbare migrering skalar du tillbaka den genom att välja 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
    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
    • Rensa datamigreringstjänstens resurser:

      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 Ta bort tjänst.
      3. I bekräftelsedialogrutan anger du namnet på tjänsten i textrutan TYPE THE DATABASE MIGRATION SERVICE NAME (NAMN på databasmigreringstjänsten) och väljer sedan Ta bort.

Metodtips för migrering

Tänk på följande metodtips när du utför en migrering.

  • 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.

  • Planera migreringsläget för varje databas. För enklare migreringar och mindre databaser bör du överväga offlineläge.

  • 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. 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.
  • Omdirigera alla beroende program för att komma åt den nya primära databasen och öppna programmen för produktionsanvändning.

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