Dela via


Migrera MySQL lokalt till Azure Database for MySQL: Migreringsmetoder

Att utforska de olika metoderna för att migrera MySQL-databaser från lokala miljöer till Azure Database for MySQL är viktigt för att välja den lämpligaste metoden för dina behov. Den här artikeln går igenom de olika tillgängliga migreringsmetoderna och ger en detaljerad analys av varje tekniks fördelar och potentiella utmaningar. Genom att förstå nyanserna i offlinemigrering, onlinemigrering och hybridmetoder kan du fatta välgrundade beslut som överensstämmer med organisationens mål och tekniska krav. Oavsett om du strävar efter minimal stilleståndstid, kostnadseffektivitet eller en sömlös övergång, ger den här guiden dig kunskap om att välja den bästa migreringsmetoden och köra den effektivt.

Förutsättningar

Migrera MySQL lokalt till Azure Database for MySQL: Planning

Översikt

Att hämta data från källan till målet kräver att du använder verktyg eller funktioner i MySQL för att utföra migreringen.

Det är viktigt att slutföra hela utvärderings- och planeringsstegen innan du påbörjar nästa steg. De beslut och data som samlas in är beroenden för migreringssökväg och val av verktyg.

Vi utforskar följande verktyg som används ofta i det här avsnittet:

  • MySQL Workbench

  • mysqldump

  • mydumper och myloader

  • Datareplikering (binlog)

MySQL Workbench

MySQL Workbench ger en omfattande GUI-upplevelse som gör att utvecklare och administratörer kan utforma, utveckla och hantera sina MySQL-instanser.

Den senaste versionen av MySQL Workbench innehåller avancerade objektmigreringsfunktioner när du flyttar en databas från en källa till ett mål.

Import och export av data

MySQL Workbench tillhandahåller ett guidebaserat användargränssnitt för fullständig eller partiell export och import av tabeller och databasobjekt. Ett exempel på hur du använder MySQL Workbench finns i Migrera din MySQL-databas med import och export.

Dumpa och återställa (mysqldump)

mysqldump tillhandahålls vanligtvis som en del av MySQL-installationen. Det är ett klientverktyg som kan köras för att skapa logiska säkerhetskopior som motsvarar en uppsättning SQL-instruktioner som kan spelas upp igen för att återskapa databasen till en tidpunkt. mysqldump är inte avsett som en snabb eller skalbar lösning för säkerhetskopiering eller migrering av stora mängder data. Att köra en stor uppsättning SQL-infogningsinstruktioner kan fungera dåligt på grund av disk-I/O som krävs för att uppdatera index. Men i kombination med andra verktyg som kräver det ursprungliga schemat mysqldump är ett bra verktyg för att generera databas- och tabellscheman. Schemana kan skapa mållandningszonens miljö.

Verktyget mysqldump tillhandahåller användbara funktioner under datamigreringsfasen. Prestandaöverväganden måste utvärderas innan verktyget körs. Se Prestandaöverväganden.

mydumper och myloader

Miljöer med stora databaser som kräver snabb migrering bör använda mydumper och myloader. Dessa verktyg är skrivna i C++ och använder tekniker med flera trådar för att skicka data så snabbt som möjligt till MySQL-målinstansen. mydumper och myloader dra nytta av parallellitet och kan påskynda migreringen med en faktor på 10x eller mer.

Verktygens binära versioner som är tillgängliga för offentlig nedladdning har sammanställts för Linux. För att kunna köra dessa verktyg i Windows måste projekten med öppen källkod omkompileras. Att kompilera källkod och skapa versioner är inte en trivial uppgift för de flesta användare.

Datareplikering (binlog)

På samma sätt som andra databashanteringssystem tillhandahåller MySQL en loggreplikeringsfunktion som kallas binlogreplikering. Replikeringsfunktionen binlog hjälper till med datamigrering och skapandet av läsrepliker.

Använd binlogreplikering för att migrera dina data till Azure Database for MySQL i ett onlinescenario. Datareplikeringen bidrar till att minska den stilleståndstid som krävs för att göra de slutliga måldataändringarna.

För att kunna använda replikeringsfunktionen binlog finns det vissa konfigurationskrav :

  • Sedan rekommenderas huvudservern att använda MySQL InnoDB-motorn. Om du använder en annan lagringsmotor än InnoDB måste du migrera tabellerna till InnoDB.

  • Migreringsanvändare måste ha behörighet att konfigurera binär loggning och skapa nya användare på huvudservern.

  • Om huvudservern har SSL aktiverat kontrollerar du att SSL CA-certifikatet för domänen har inkluderats i den mysql.az_replication_change_master lagrade proceduren. Se följande exempel och parametern master_ssl_ca.

  • Se till att huvudserverns IP-adress har lagts till i Azure Database for MySQL-replikserverns brandväggsregler. Uppdatera brandväggsregler med hjälp av Azure-portalen eller Azure CLI.

  • Se till att datorn som är värd för huvudservern tillåter både inkommande och utgående trafik på port 3306.

  • Kontrollera att huvudservern har en tillgänglig IP-adress (offentlig eller privat) från källan till målen.

Information om hur du utför en migrering med replikering finns i Konfigurera Azure Database for MySQL-datareplikering .

Replikeringsmetoden binlog har höga processor- och extra lagringskrav. Migreringsanvändare bör testa belastningen som placeras på källsystemet under onlinemigreringar och avgöra om det är acceptabelt.

Azure Database Migration Service (DMS)

Azure Database Migration Services (DMS) är ett molnbaserat Azure-verktyg som gör det möjligt för administratörer att hålla reda på de olika inställningarna för migrering och återanvända dem om det behövs. DMS fungerar genom att skapa migreringsprojekt med inställningar som pekar på olika källor och mål. Den stöder offlinemigreringar. Dessutom stöder den lokala dataarbetsbelastningar och molnbaserade arbetsbelastningar som Amazon Relational Database Service (RDS) MySQL.

Även om DMS-tjänsten är ett onlineverktyg förlitar den sig på binlog replikeringsfunktionen i MySQL för att slutföra sina uppgifter. För närvarande automatiserar DMS delvis offlinemigreringsprocessen. DMS kräver generering och tillämpning av matchningsschemat i Azure Database for MySQL-målinstansen. Scheman kan exporteras med hjälp av mysqldump klientverktyget.

Migrering av snabbaste/minsta stilleståndstid

Det finns många sökvägar för att migrera data. Att bestämma vilken väg som ska användas är en funktion av migreringsteamets kompetensuppsättning och hur lång stilleståndstid databasen och programägarna är villiga att acceptera. Vissa verktyg stöder multitrådade parallella datamigreringsmetoder medan andra verktyg endast har utformats för enkla migreringar av tabelldata.

Den snabbaste och mest kompletta sökvägen är att använda binlog replikering (antingen direkt med MySQL eller via DMS), men det kommer med kostnaderna för att lägga till primära nycklar.

Beslutstabell

Det finns många sökvägar som WWI kan använda för att migrera sina MySQL-arbetsbelastningar. Vi har lagt till en tabell över potentiella sökvägar och fördelarna och nackdelarna med var och en:

Mål beskrivning Verktyg Förutsättningar Fördelar Nackdelar
Snabbaste möjliga migrering Parallell metod mydumper och myloader Linux Mycket parallelliserad Målbegränsning
Onlinemigrering Håll källan uppe så länge som möjligt binlog Ingen Sömlöst Extra bearbetning och lagring
Offlinemigrering Håll källan uppe så länge som möjligt Database Migration Service (DMS) Ingen Repeterbar process Endast data, stöder alla MySQL-versioner
Strikt anpassad offlinemigrering Exportera objekt selektivt mysqldump Ingen Mycket anpassningsbar Manuell
Halvautomatiserad offlinemigrering Användargränssnittsbaserad export och import MySQL Workbench Ladda ned och installera Halvautomatiserad Endast vanliga uppsättningar med växlar stöds

WWI-scenario

WWI har valt sin konferensdatabas som sin första migreringsarbetsbelastning. Arbetsbelastningen valdes eftersom den hade minst risk och den mest tillgängliga stilleståndstiden på grund av gapet i det årliga konferensschemat. Baserat på migreringsteamets utvärdering fastställde de dessutom att de försökte utföra en offlinemigrering med MySQL Workbench.

Checklista för migreringsmetoder

  • Kontrollera att rätt metod har valts med tanke på mål- och källmiljöerna.

  • Se till att metoden kan uppfylla affärskraven.

  • Kontrollera alltid om dataarbetsbelastningen stöder metoden.

Gå vidare