Migrace Amazon RDS pro MySQL do Azure Database for MySQL pomocí MySQL Workbench

PLATÍ PRO: Azure Database for MySQL – Jeden server

K migraci Amazon RDS pro MySQL do Azure Database for MySQL můžete použít různé nástroje, jako je MySQL Workbench export/import, Azure Database Migration Service (DMS) a výpis stavu a obnovení MySQL. Použití Průvodce migrací aplikace MySQL Workbench ale nabízí snadný a pohodlný způsob, jak přesunout databáze Amazon RDS pro MySQL do Azure Database for MySQL.

Pomocí Průvodce migrací můžete pohodlně vybrat, která schémata a objekty se mají migrovat. Umožňuje také zobrazit protokoly serveru pro identifikaci chyb a kritických míst v reálném čase. V důsledku toho můžete upravovat a upravovat tabulky nebo databázové struktury a objekty během procesu migrace, když se zjistí chyba, a pak pokračovat v migraci bez nutnosti restartování od začátku.

Poznámka

průvodce migrací můžete také použít k migraci dalších zdrojů, například Microsoft SQL Server, Oracle, PostgreSQL, MariaDB atd., které jsou mimo rámec tohoto článku.

Požadavky

Než zahájíte proces migrace, doporučujeme, abyste zajistili, že je správně nakonfigurováno a nastaveno několik parametrů a funkcí, jak je popsáno níže.

  • Ujistěte se, že znaková sada zdrojové a cílové databáze je stejná.

  • Nastavte časový limit čekání na rozumnou dobu v závislosti na množství dat nebo zatížení, které chcete importovat nebo migrovat.

  • Nastavte na max_allowed_packet parameter rozumnou hodnotu v závislosti na velikosti databáze, kterou chcete naimportovat nebo migrovat.

  • ověřte, že všechny tabulky používají InnoDB, protože Server Azure Database for MySQL podporuje jenom InnoDB modul Storage.

  • Odeberte, nahraďte nebo upravte všechny triggery, uložené procedury a další funkce obsahující uživatele root user nebo Super User (Azure Database for MySQL nepodporují oprávnění super uživatele). Chcete-li nahradit zpřesnění názvem uživatele s oprávněními správce, který spouští proces importu, spusťte následující příkaz:

    DELIMITER; ;/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`127.0.0.1`*/ /*!50003
    DELIMITER;
    /* Modified to */
    DELIMITER;
    /*!50003 CREATE*//*!50017 DEFINER=`AdminUserName`@`ServerName`*/ /*!50003
    DELIMITER;
    
    
  • Pokud jsou na databázovém serveru spuštěné uživatelsky definované funkce (UDF), musíte odstranit oprávnění pro databázi MySQL. Pokud chcete zjistit, jestli na serveru běží nějaké UDF, použijte následující dotaz:

    SELECT * FROM mysql.func;
    

    Pokud zjistíte, že UDF běží, můžete UDF odstranit pomocí následujícího dotazu:

    DROP FUNCTION your_UDFunction;
    
  • Ujistěte se, že server, na kterém je nástroj spuštěný, a nakonec umístění exportu, má dostatek místa na disku a výpočetní výkon (virtuální jádra, CPU a paměť) k provedení operace exportu, zejména při exportu velmi velké databáze.

  • Vytvořte cestu mezi místními nebo AWS instancí a Azure Database for MySQL, pokud je zatížení za bránami firewall nebo jinými vrstvami zabezpečení sítě.

Zahájit proces migrace

  1. Pokud chcete spustit proces migrace, přihlaste se k aplikaci MySQL Workbench a potom vyberte ikonu domů.

  2. V levém navigačním panelu vyberte ikonu Průvodce migrací, jak je znázorněno na snímku obrazovky níže.

    Úvodní obrazovka aplikace MySQL Workbench

    Zobrazí se stránka s přehledem Průvodce migrací, jak je znázorněno níže.

    Úvodní stránka Průvodce migrací MySQL Workbench

  3. Vyberte možnost otevřít Správce rozhraní ODBC, abyste zjistili, jestli máte nainstalovaný ovladač ODBC pro MySQL server.

    V našem případě na kartě ovladače si všimnete, že už jsou nainstalované dva ovladače rozhraní ODBC serveru MySQL.

    Stránka správce zdroje dat ODBC

    Pokud není nainstalovaný ovladač MySQL ODBC, nainstalujte ovladač pomocí instalačního programu MySQL, který jste použili k instalaci MySQL Workbench. Další informace o instalaci ovladače MySQL ODBC najdete v následujících zdrojích informací:

  4. Zavřete dialogové okno Správce zdrojů dat ODBC a pak pokračujte v procesu migrace.

Konfigurace parametrů připojení zdrojového databázového serveru

  1. Na stránce Přehled vyberte Spustit migraci.

    Zobrazí se stránka Výběr zdroje . Pomocí této stránky můžete zadat informace o RDBMS, ze kterého migrujete, a parametry pro připojení.

  2. V poli databázový systém vyberte MySQL.

  3. V poli uložené připojení vyberte jedno z uložených nastavení připojení pro tento RDBMS.

    Připojení můžete uložit tak, že označíte zaškrtávací políčko v dolní části stránky a zadáte název své předvolby.

  4. V poli způsob připojení vyberte standardní TCP/IP.

  5. Do pole název hostitele zadejte název serveru zdrojové databáze.

  6. Do pole port zadejte 3306 a potom zadejte uživatelské jméno a heslo pro připojení k serveru.

  7. V poli databáze zadejte název databáze, kterou chcete migrovat, pokud ji znáte. jinak ponechte toto pole prázdné.

  8. Vyberte Test připojení a zkontrolujte připojení k instanci serveru MySQL.

    Pokud jste zadali správné parametry, zobrazí se zpráva s oznámením o úspěšném pokusu o připojení.

    Stránka parametrů připojení zdrojové databáze

  9. Vyberte Další.

Konfigurace parametrů připojení cílového databázového serveru

  1. Na stránce Výběr cíle nastavte parametry pro připojení k cílové instanci serveru MySQL pomocí podobného procesu jako při nastavení připojení ke zdrojovému serveru.

  2. Chcete-li ověřit úspěšné připojení, vyberte možnost Test připojení.

    Stránka parametrů připojení cílové databáze

  3. Vyberte Další.

Vyberte schémata, která chcete migrovat.

Průvodce migrací bude komunikovat s instancí serveru MySQL a načíst seznam schémat ze zdrojového serveru.

  1. Tuto operaci zobrazíte výběrem Zobrazit protokoly .

    Níže uvedený snímek obrazovky ukazuje, jak jsou schémata načítána ze zdrojového databázového serveru.

    Stránka seznamu schémat načtení

  2. Výběrem Další ověříte, že se všechna schémata úspěšně načetla.

    Níže uvedený snímek obrazovky ukazuje seznam načtených schémat.

    Stránka výběru schémat

    Můžete migrovat pouze schémata, která se zobrazují v tomto seznamu.

  3. Vyberte schémata, která chcete migrovat, a pak vyberte Další.

Migrace objektu

Dále určete objekty, které chcete migrovat.

  1. Vyberte možnost Zobrazit výběr a potom v části dostupné objekty vyberte a přidejte objekty, které chcete migrovat.

    Po přidání objektů se zobrazí v části objekty k migraci, jak je znázorněno na snímku obrazovky níže.

    Stránka pro výběr zdrojového objektu

    V tomto scénáři jsme vybrali všechny objekty tabulky.

  2. Vyberte Další.

Upravit data

V této části máte možnost upravit objekty, které chcete migrovat.

  1. Na stránce Ruční úpravy si všimněte rozevírací nabídky zobrazení v pravém horním rohu.

    Stránka pro výběr ruční úpravy

    Rozevírací seznam zobrazení obsahuje tři položky:

    • All Objects – zobrazí všechny objekty. pomocí této možnosti můžete ručně upravit vygenerované SQL, než je použijete pro cílový databázový server. To provedete tak, že vyberete objekt a vyberete Zobrazit kód a zprávy. Vygenerovaný kód MySQL, který odpovídá vybranému objektu, můžete zobrazit (a upravit).
    • Problémy s migrací – zobrazí všechny problémy, ke kterým došlo během migrace, které můžete zkontrolovat a ověřit.
    • Mapování sloupce – zobrazí informace o mapování sloupce. Toto zobrazení lze použít k úpravě názvu a změně sloupce cílového objektu.
  2. Vyberte Další.

Vytvoření cílové databáze

  1. Zaškrtněte políčko vytvořit schéma v CÍLOVÉM RDBMS .

    Můžete se také rozhodnout zachovat již existující schémata, takže se nebudou upravovat ani aktualizovat.

    Stránka možností pro vytvoření cíle

    v tomto článku jsme se rozhodli vytvořit schéma v cílovém RDBMS, ale můžete také zaškrtnout políčko vytvořit soubor skriptu SQL k uložení souboru na místním počítači nebo pro jiné účely.

  2. Vyberte Další.

Spuštění skriptu MySQL pro vytvoření databázových objektů

vzhledem k tomu, že jsme se rozhodli vytvořit schéma v cílovém RDBMS, na cílovém serveru MySQL se spustí migrovaný SQL skript. Průběh můžete zobrazit tak, jak je znázorněno na snímku obrazovky níže:

Stránka pro vytvoření schémat

  1. Po dokončení vytváření schémat a jejich objektů vyberte Další.

    Na stránce vytvořit cílové výsledky se zobrazí seznam vytvořených objektů a oznámení o chybách, ke kterým došlo při jejich vytváření, jak je znázorněno na následujícím snímku obrazovky.

    Stránka vytvořit cílové výsledky

  2. Přečtěte si podrobnosti na této stránce, abyste ověřili, že všechno je hotové jako zamýšlené.

    V tomto článku se nezminí žádné chyby. Pokud nepotřebujete řešit žádné chybové zprávy, můžete skript migrace upravit.

  3. V poli Objekt vyberte objekt, který chcete upravit.

  4. V SQL create script for selected object(Vytvořit skript pro vybraný objekt) upravte SQL skript a pak výběrem možnosti Apply (Použít) uložte změny.

  5. Výběrem možnosti Znovu vytvořit objekty spusťte skript včetně změn.

    Pokud skript selže, možná budete muset vygenerovaný skript upravit. Pak můžete ručně opravit skript SQL a všechno spustit znovu. V tomto článku nic neměníme, takže skript necháme tak, jak je.

  6. Vyberte Další.

Přenos dat

Tato část procesu přesouvá data ze zdrojové instance databáze MySQL Serveru do nově vytvořené cílové instance databáze MySQL. Ke konfiguraci tohoto procesu použijte stránku Nastavení přenosu dat.

Stránka Nastavení přenosu dat

Tato stránka poskytuje možnosti pro nastavení přenosu dat. Pro účely tohoto článku přijmeme výchozí hodnoty.

  1. Pokud chcete zahájit skutečný proces přenosu dat, vyberte Další.

    Průběh procesu přenosu dat se zobrazí, jak je znázorněno na následujícím snímku obrazovky.

    Stránka Bulk Data Transfer (Hromadný přenos dat)

    Poznámka

    Doba trvání procesu přenosu dat přímo souvisí s velikostí databáze, kterou migrujete. Čím větší zdrojová databáze, tím déle bude proces trvat, potenciálně až několik hodin u větších databází.

  2. Po dokončení přenosu vyberte Další.

    Zobrazí se stránka Sestava migrace se sestavou se souhrnem celého procesu, jak je znázorněno na následujícím snímku obrazovky:

    Stránka Sestavy průběhu migrace

  3. Výběrem možnosti Dokončit zavřete Průvodce migrací.

    Migrace je teď úspěšně dokončená.

Ověření konzistence migrovaných schémat a tabulek

  1. Pak se přihlaste k cílové instanci databáze MySQL a ověřte, že migrovaná schémata a tabulky jsou konzistentní se zdrojovou databází MySQL.

    V našem případě vidíte, že všechna schémata (sakila, moda, položky, zákazník, oblečení, svět a world_x) z databáze Amazon RDS for MySQL: MyjolieDB byla úspěšně migrována do instance Azure Database for MySQL: azmysql.

  2. Pokud chcete ověřit počty tabulek a řádků, spusťte v obou instancích následující dotaz:

    SELECT COUNT (*) FROM sakila.actor;

    Na snímku obrazovky níže vidíte, že počet řádků pro Amazon RDS MySQL je 200, což odpovídá Azure Database for MySQL instanci.

    Zdrojová databáze velikosti tabulky a řádku

    Cílová databáze velikosti tabulky a řádku

    Přestože výše uvedený dotaz můžete spustit pro každé schéma a tabulku, bude to poměrně hodně práce, pokud pracujete se stovkami tisíc nebo dokonce miliony tabulek. Pomocí níže uvedených dotazů můžete místo toho ověřit schéma (databázi) a velikost tabulky.

  3. Pokud chcete zkontrolovat velikost databáze, spusťte následující dotaz:

    SELECT table_schema AS "Database", 
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)" 
    FROM information_schema.TABLES 
    GROUP BY table_schema;
    
  4. Pokud chcete zkontrolovat velikost tabulky, spusťte následující dotaz:

    SELECT table_name AS "Table",
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
    FROM information_schema.TABLES
    WHERE table_schema = "database_name"
    ORDER BY (data_length + index_length) DESC;
    

    Na následujících snímcích obrazovky vidíte, že velikost schématu (databáze) ze zdrojové instance Amazon RDS MySQL je stejná jako u cílové instance Azure Database for MySQL Instance.

    Zdrojová databáze velikosti databáze

    Cílová databáze velikosti databáze

    Vzhledem k tomu, že velikosti schématu (databáze) jsou v obou případech stejné, není ve skutečnosti nutné kontrolovat jednotlivé velikosti tabulek. V každém případě můžete vždy pomocí výše uvedeného dotazu zkontrolovat velikosti tabulek podle potřeby.

    Teď jste potvrdili, že se migrace úspěšně dokončila.

Další kroky

  • Další informace o migraci databází do Azure Database for MySQL najdete v průvodci migrací databáze.
  • Podívejte se na video snadná migrace aplikací MySQL/PostgreSQLdo spravované služby Azure, které obsahuje ukázku migrace aplikací MySQL do Azure Database for MySQL.