Utforska alternativ för migreringsverktyg

Slutförd

Det finns flera verktyg som du kan använda för att planera och migrera data till en flexibel Azure Database for MySQL-server. Varje alternativ har sina fördelar och nackdelar, enligt beskrivningen i följande avsnitt.

Identifiera och utvärdera dina MySQL-arbetsbelastningar med Hjälp av Azure Migrate

Azure Migrate erbjuder en centraliserad hubb för att identifiera, utvärdera och migrera lokal infrastruktur, inklusive servrar, databaser och webbprogram som finns i fysiska miljöer, till PaaS-mål (Plattform som en tjänst) och Infrastruktur som en tjänst (IaaS) i stor skala. MySQL-identifierings- och utvärderingsfunktionerna i Azure Migrate (förhandsversion) hjälper dig under planeringsfasen genom att göra så att du kan:

  • Identifiera MySQL-instanser och deras attribut i din miljö,
  • Utvärdera beredskapen för migrering till Azure Database for MySQL – flexibel server och
  • Få rekommendationer om lämplig beräknings- och lagrings-SKU för att vara värd för MySQL-arbetsbelastningar i Azure Database for MySQL – flexibel server, tillsammans med tillhörande kostnader.

Azure Database for MySQL Import CLI

Azure Database for MySQL Import är ett enda CLI-kommando som gör att du kan migrera din MySQL-arbetsbelastning lokalt eller virtuell dator (VM) sömlöst till Azure Database for MySQL – flexibel server. Den erbjuder en enkel och snabb migreringsväg. Kommandot etablerar din flexibla målserver som konfigurerats enligt användarindata och återställer sedan den fysiska säkerhetskopieringsfilen (som används med Percona XtraBackup) för källservern som lagras i Azure Blob Storage-kontot till målinstansen för flexibel server.

CLI-kommandot är: az mysql flexible-server --import

När du utvärderar import-CLI bör du ta hänsyn till följande överväganden.

  • Källserverkonfigurationen måste innehålla följande parametrar och värden:

    lower_case_table_names = 1
    innodb_file_per_table = ON
    
  • Namnet på systemtabellområdet ska vara ibdata1 med en storlek som är lika med minst 12 MB (MySQL-standardvärdet).

  • Endast InnoDB-motorn stöds för migrering.

  • Vissa element på källservern som konfiguration (brandväggar, användare, behörigheter) migreras inte.

  • Hög tillgänglighet (HA) inaktiveras under migreringen för att optimera prestanda. Se till att återaktivera HA när migreringen är klar.

Azure Database Migration Service

Azure Database Migration Service är en fullständigt hanterad tjänst som hjälper dig att förenkla, vägleda och automatisera dina databasmigreringar till Azure-dataplattformar.

Azure Database Migration Service fungerar genom att skapa och köra repeterbara migreringsprojekt. Källor sträcker sig från lokala arbetsbelastningar till molnbaserade arbetsbelastningar som Amazon RDS MySQL. Azure Database Migration Service är tekniskt sett ett offlinemigreringsverktyg, men använder MySQL binlog för att utföra nästan noll driftstopp onlinemigreringar.

mysqldump

Klientverktyget mysqldump , som vanligtvis installeras tillsammans med MySQL, är ett verktyg för databassäkerhetskopiering. Du kan använda mysqldump för att dumpa schemat och innehållet i en källdatabas i SQL-uttryck. Du kan sedan köra dessa instruktioner som de är för att återställa det fullständiga eller partiella innehållet till måldatabasen.

För stora datamängder kan det gå dåligt att återställa dumpen genom att köra SQL-uttrycken. Index uppdateras till exempel en instruktion i taget, vilket kan överbelasta diskens I/O-prestanda. På grund av detta kan du påskynda en migrering genom att mysqldump para ihop med verktyg som mydumper och myloader, som är optimerade för massdatamigrering. Använd mysqldump för att återskapa databasschemat, som är en landningszon i måldatabasen, för att hantera de data som importeras.

Ibland måste du anpassa migreringsdataöverföringen. Du kanske vill exportera en delmängd data för testning eller ersätta måldatabasens data för en kund. Du kan till och med ändra data, till exempel redigera personliga data för att felsöka ett problem i en testdatabas innan du migrerar dem.

I dessa scenarier mysqldump ger den största flexibiliteten. Eftersom den exporterar en fil som innehåller SQL-instruktioner kan du välja hur du ändrar data innan du kör -instruktionerna på målservern.

mydumper och myloader

mydumper och myloader ingår i MyDumper-paketet , ett MySQL-säkerhetskopieringsverktyg med öppen källkod. mysqldump Till skillnad från verktyget, som matar ut hela schemat till SQL-instruktioner för att köras igen linjärt, drar MyDumper-verktygen nytta av parallellitet och ger fördelar som att använda separata filer per tabell och format som kan läsas av människor, samt upprätthålla korrekta positioner för binär käll- och målbinär logg.

För att migrera stora databaser mydumper och myloader rekommenderas eftersom dessa verktyg erbjuder 10 gånger eller högre prestanda med parallellitet.

Verktygen är tillgängliga som binära versioner för Linux som rpm- och deb-paket och för macOS via Homebrew. På andra plattformar måste du kompilera verktygen från källan, vilket ger komplexitet.

MySQL Workbench

MySQL Workbench tillhandahåller ett grafiskt användargränssnitt (GUI) för att arbeta med MySQL, och det ger åtkomst till många verktyg, inklusive ett för databasmigrering. MySQL Workbench finns i community- och kommersiella utgåvorna av MySQL, enligt beskrivningen i listan MySQL Workbench Features .

MySQL-binlog

Verktyget mysqlbinlog använder binärloggen MySQL, som registrerar händelser för databasändring, till exempel tabelländringar eller datainfogningar, uppdateringar och borttagningar. Varje ändring identifieras med en inkrementellt ökande position och du kan inspektera och ändra varje ändring med hjälp mysqlbinlog av verktyget.

Du kan använda binär logg som en del av både online- och offlinemigreringar:

  • Med onlinemigreringar är den binära loggen den viktigaste mekanismen för replikering av livedataändringar från källan till målet.
  • Med offlinemigreringar möjliggör binärloggen inkrementella migreringar genom att exakt generera ändringar sedan en tidigare migrerad ögonblicksbild.

Underhåll av binär logg kräver ytterligare bearbetnings- och lagringsresurser.