Självstudie: Migrera MySQL till Azure Database for MySQL offline med DMS

Du kan använda Azure Database Migration Service för att utföra en sömlös migrering från din externa MySQL-instans till Azure Database for MySQL med funktioner för datamigrering med hög hastighet. I den här självstudien migrerar vi en exempeldatabas från en lokal instans av MySQL 5.7 till Azure Database for MySQL (v5.7) med hjälp av en offlinemigreringsaktivitet i Azure Database Migration Service. Även om artiklarna förutsätter att källan är en MySQL-databasinstans och målet är Azure Database for MySQL, kan den användas för att migrera från en Azure Database for MySQL till en annan bara genom att ändra källserverns namn och autentiseringsuppgifter. Migrering från mySQL-servrar med lägre version (v5.6 och senare) till högre versioner stöds också.

Kommentar

En PowerShell-baserad skriptbar version av den här migreringsupplevelsen finns i skriptbar offlinemigrering till Azure Database for MySQL.

Amazon Relational Database Service (RDS) för MySQL och Amazon Aurora (MySQL-baserad) stöds också som källor för migrering.

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

  • Skapa en DMS-instans.
  • Skapa ett MySQL-migreringsprojekt i DMS.
  • Migrera ett MySQL-schema med DMS.
  • Köra migreringen.
  • Övervaka migreringen.

Förutsättningar

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

  • Ha ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.

  • Ha en lokal MySQL-databas med version 5.7. Annars laddar du ned och installerar MySQL Community Edition 5.7.

  • Skapa ett Microsoft Azure Virtual Network for Azure Database Migration Service med hjälp av Azure Resource Manager-distributionsmodellen, som tillhandahåller plats-till-plats-anslutning till dina lokala källservrar med hjälp av antingen ExpressRoute eller VPN. Mer information om hur du skapar ett virtuellt nätverk finns i dokumentationen för virtuellt nätverk, och särskilt snabbstartsartiklarna med stegvis information.

    Om du använder ExpressRoute med nätverkspeering till Microsoft under konfigurationen av virtuellt nätverk lägger du till följande tjänstslutpunkter i det undernät där tjänsten ska etableras:

    • Måldatabasslutpunkt (till exempel SQL-slutpunkt, Azure Cosmos DB-slutpunkt och så vidare)
    • Lagringsslutpunkt
    • Service Bus-slutpunkt

    Den här konfigurationen är nödvändig eftersom Azure Database Migration Service saknar Internetanslutning.

  • Se till att reglerna för nätverkssäkerhetsgruppen för det virtuella nätverket inte blockerar utgående port 443 i ServiceTag för ServiceBus, Storage och AzureMonitor. Mer information om trafikfiltrering för virtuella nätverk NSG finns i artikeln Filtrera nätverkstrafik med nätverkssäkerhetsgrupper.

  • Öppna Windows-brandväggen för att tillåta anslutningar från Virtual Network for Azure Database Migration Service att komma åt källans MySQL-server, som som standard är TCP-port 3306.

  • När du använder en brandväggsinstallation framför källdatabaserna kan du behöva lägga till brandväggsregler för att tillåta anslutningar från Virtual Network för Azure Database Migration Service att komma åt källdatabaserna för migrering.

  • Skapa en brandväggsregel på servernivå eller konfigurera VNET-tjänstslutpunkter för Azure Database for MySQL som mål för att tillåta virtuellt nätverk för Azure Database Migration Service åtkomst till måldatabaserna.

  • MySQL-källan måste vara på en MySQL Community Edition som stöds. Om du vill kontrollera vilken version av MySQL-instansen du har går du till verktyget MySQL eller MySQL Workbench och kör följande kommando:

    SELECT @@VERSION;
    
  • Azure Database for MySQL stöder endast InnoDB-tabeller. Om du vill konvertera MyISAM-tabeller till InnoDB kan du läsa artikeln Konvertera tabeller från MyISAM till InnoDB

  • Användaren måste ha behörighet att läsa data i källdatabasen.

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

Ändra storleken på Azure Database for MySQL-målinstansen

Följande serverparametrar och konfigurationsändringar rekommenderas för att förbereda Azure Database for MySQL-målservern för snabbare datainläsning med Hjälp av Azure Database Migration Service.

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

  • query_store_capture_mode – ställ in på NONE för att inaktivera Query Store. Detta eliminerar de omkostnader som orsakas av samplingsaktiviteter från Query Store.

  • innodb_buffer_pool_size – 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 & innodb_write_io_threads – Ändra till 4 från serverparametrarna i Azure Portal för att förbättra migreringens hastighet.

  • Skala upp lagringsnivå – IOP:erna för Azure Database for MySQL-servern ökar gradvis med en ökning av lagringsnivån.

    • Med distributionsalternativet Enskild server rekommenderar vi att du ökar lagringsnivån för att öka de etablerade IOP:erna för snabbare belastning.
    • I distributionsalternativet Flexibel server rekommenderar vi att du kan skala (öka eller minska) IOPS oavsett lagringsstorlek.
    • Lagringsstorleken kan bara skalas upp, inte ned.
  • 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.

När migreringen är klar kan du återställa serverparametrarna och konfigurationen till de värden som krävs av arbetsbelastningen.

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 Select-prenumeration från 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 en Registrera resursprovidern.

Skapa en Database Migration Service-instans

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

    Skärmbild som visar Azure Marketplace.

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

    Skärmbild av Skapa Azure Database Migration Service-instans.

  3. På sidan Create Migration Service anger du ett namn för tjänsten, prenumerationen och en ny eller befintlig resursgrupp.

  4. Välj en prisnivå och gå till nätverksskärmen. Offlinemigreringsfunktionen är endast tillgänglig på prisnivån Premium.

    Mer information om kostnader och prisnivåer finns på sidan med priser.

    Skärmbild av grundläggande inställningar för Konfigurera Azure Database Migration Service.

  5. Välj ett befintligt virtuellt nätverk i listan eller ange namnet på det nya virtuella nätverk som ska skapas. Gå till skärmen granska + skapa. Du kan också lägga till taggar i tjänsten med hjälp av skärmen taggar.

    Det virtuella nätverket ger Azure Database Migration Service åtkomst till SQL Server-källan och Azure SQL Database-målinstansen.

    Skärmbild av Konfigurera nätverksinställningar för Azure Database Migration Service.

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

  6. Granska konfigurationerna och välj Skapa för att skapa tjänsten.

    Skärmbild av azure database migration service create.

Skapa ett migreringsprojekt

När tjänsten har skapats letar du reda på den i Azure Portal, öppnar den och skapar sedan ett nytt 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. Välj din migreringstjänstinstans i sökresultaten och välj + Nytt migreringsprojekt.

    Skärmbild av Skapa ett nytt migreringsprojekt.

  3. På skärmen Nytt migreringsprojekt anger du ett namn för projektet, i rutan Typ av källserver väljer du MySQL. I rutan Målservertyp väljer du Azure Database For MySQL och i markeringsrutan Migreringsaktivitetstyp väljer du Datamigrering. Välj Skapa och kör aktivitet.

    Skärmbild av Projektet Skapa databasmigreringstjänst.

    Alternativt kan du välja Skapa projekt endast för att skapa migreringsprojektet nu och köra migreringen senare.

Konfigurera migreringsprojekt

  1. På skärmen Välj källa anger du anslutningsinformation för MySQL-källinstansen och väljer Nästa: Välj mål>>

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

  2. På skärmen Välj mål anger du anslutningsinformation för Azure Database for MySQL-målinstansen och väljer Nästa: Välj databaser>>

    Skärmbild av skärmen Lägg till målinformation.

  3. På skärmen Välj databaser mappar du källan och måldatabasen för migrering och väljer Nästa: Konfigurera migreringsinställningar>>. Du kan välja alternativet Skrivskyddad källserver för att göra källan skrivskyddad, men var försiktig med att det här är en inställning på servernivå. Om den väljs anger den hela servern till skrivskyddad, inte bara de valda databaserna.

    Om måldatabasen innehåller samma databasnamn som källdatabasen väljer Azure Database Migration Service måldatabasen som standard.

    Skärmbild av skärmen Välj databasinformation.

  4. På skärmen Konfigurera migreringsinställningar väljer du de tabeller som ska ingå i migreringen och väljer Nästa : Sammanfattning>>. Om måltabellerna har några data är de inte markerade som standard, men du kan uttryckligen välja dem och de trunkeras innan migreringen påbörjas.

    Skärmbild av skärmen Välj tabeller.

  5. På skärmen Sammanfattning i textrutan Aktivitetsnamn anger du ett namn för migreringsaktiviteten och granskar sammanfattningen för att se till att käll- och målinformationen matchar det du angav tidigare.

    Skärmbild av sammanfattning av migreringsprojekt.

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

    Skärmbild av Att köra migrering.

Övervaka migreringen

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

  2. Du kan välja databasnamnet på aktivitetsskärmen för att se status för varje tabell när de migreras. Välj Uppdatera för att uppdatera visningen.

    Skärmbild av Övervakningsmigrering.

Slutföra migreringen

  1. På migreringsaktivitetssidan väljer du Uppdatera för att uppdatera visningen tills Status för migreringen är Slutförd.

    Skärmbild av Fullständig migrering.

Aktiviteter efter migrering

Snabb migrering i en offlinemigrering är en programberoende process som ligger utanför omfånget för det här dokumentet, men följande aktiviteter efter migreringen föreskrivs:

  1. Skapa inloggningar, roller och behörigheter enligt programkraven.
  2. Återskapa alla utlösare i måldatabasen som extraherades under steget före migreringen.
  3. Utför rimlighetstestning för programmet mot måldatabasen för att certifiera migreringen.

Rensa resurser

Om du inte kommer att fortsätta att använda Database Migration Service kan du ta bort tjänsten med följande steg:

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

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

    Skärmbild av Ta bort migreringstjänsten.

  3. I bekräftelsedialogrutan skriver du in namnet på tjänsten i textrutan TYPE THE DATABASE MIGRATION SERVICE NAME (NAMN på DATABASMIGRERINGSTJÄNSTEN) och väljer Ta bort.

    Skärmbild av Bekräfta borttagning av migreringstjänsten.