Migrace Amazon RDS for MySQL do služby Azure Database for MySQL pomocí aplikace MySQL Workbench

PLATÍ PRO: Jednoúčelový server Azure Database for MySQL

Důležité

Jednoúčelový server Azure Database for MySQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for MySQL. Další informace o migraci na flexibilní server Azure Database for MySQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for MySQL?

K migraci Amazon RDS for MySQL for MySQL do Služby Azure Database for MySQL můžete použít různé nástroje, jako je export/import aplikace MySQL, služba Azure Database Migration Service (DMS) a obnovení a výpis paměti MySQL. Použití Průvodce migrací aplikace MySQL Workbench ale nabízí snadný a pohodlný způsob, jak přesunout databáze Amazon RDS for MySQL do služby 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 a identifikovat chyby a kritické body 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í úplně od začátku.

Poznámka:

Průvodce migrací můžete použít také k migraci dalších zdrojů, jako jsou Microsoft SQL Server, Oracle, PostgreSQL, MariaDB atd., které jsou mimo rozsah tohoto článku.

Požadavky

Před zahájením procesu migrace se doporučuje zajistit, aby byly správně nakonfigurované a nastavené několik parametrů a funkcí, jak je popsáno níže.

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

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

  • max_allowed_packet parameter Nastavte přiměřenou částku v závislosti na velikosti databáze, kterou chcete importovat nebo migrovat.

  • Ověřte, že všechny tabulky používají InnoDB, protože Azure Database for MySQL Server podporuje pouze modul úložiště InnoDB.

  • Odeberte, nahraďte nebo upravte všechny triggery, uložené procedury a další funkce obsahující definice kořenového uživatele nebo superuživatele (Azure Database for MySQL nepodporuje oprávnění superuživatele). Pokud chcete definovatele nahradit jménem uživatele 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živatelem definované funkce (UDF), musíte odstranit oprávnění pro databázi mysql. Pokud chcete zjistit, jestli na vašem serveru běží nějaké funkce definované uživatelem, použijte následující dotaz:

    SELECT * FROM mysql.func;
    

    Pokud zjistíte, že jsou funkce definované uživatelem spuštěné, můžete uživatelem definované funkce vyřadit 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, procesor a paměť) k provedení operace exportu, zejména při exportu velmi velké databáze.

  • Pokud se úloha nachází za branami firewall nebo jinými vrstvami zabezpečení sítě, vytvořte cestu mezi místní instancí nebo instancí AWS a službou Azure Database for MySQL.

Zahájení procesu migrace

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

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

    MySQL Workbench start screen

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

    MySQL Workbench Migration Wizard welcome page

  3. Zjistěte, jestli máte nainstalovaný ovladač ODBC pro MySQL Server výběrem příkazu Open ODBC Správa istrator.

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

    ODBC Data Source Administrator page

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

  4. Zavřete dialogové okno zdroj dat ODBC Správa istrator a 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. Na této stránce můžete zadat informace o rdBMS, ze kterých migrujete, a parametry připojení.

  2. V poli Systém databáze vyberte MySQL.

  3. V poli Uložená Připojení ion vyberte jedno z uložených nastavení připojení pro danou sadu RDBMS.

    Připojení můžete uložit zaškrtnutím políčka v dolní části stránky a zadáním názvu předvolby.

  4. V poli metoda Připojení vyberte Standardní TCP/IP.

  5. Do pole Název hostitele zadejte název zdrojového databázového serveru.

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

  7. Do pole Databáze zadejte název databáze, kterou chcete migrovat, pokud ji znáte, jinak nechte toto pole prázdné.

  8. Výběrem možnosti Test Připojení ion zkontrolujte připojení k vaší instanci serveru MySQL.

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

    Source database connection parameters page

  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 pro nastavení připojení ke zdrojovému serveru.

  2. Pokud chcete ověřit úspěšné připojení, vyberte test Připojení ion.

    Target database connection parameters page

  3. Vyberte Další.

Vyberte schémata, která se mají migrovat.

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

  1. Chcete-li zobrazit tuto operaci, vyberte Zobrazit protokoly .

    Následující snímek obrazovky ukazuje, jak se schémata načítají ze zdrojového databázového serveru.

    Fetch schemas list page

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

    Následující snímek obrazovky ukazuje seznam načtených schémat.

    Schemas selection page

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

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

Migrace objektů

Dále zadejte objekty, které chcete migrovat.

  1. Vyberte 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 následujícím snímku obrazovky.

    Source objects selection page

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

  2. Vyberte Další.

Úprava dat

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.

    Manual Editing selection page

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

    • Všechny objekty – zobrazí všechny objekty. Pomocí této možnosti můžete ručně upravit vygenerovaný SQL předtím, než je použijete na cílový databázový server. Uděláte to tak, že vyberete objekt a vyberete Zobrazit kód a zprávy. Můžete zobrazit (a upravit!) vygenerovaný kód MySQL, který odpovídá vybranému objektu.
    • 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í sloupců – zobrazí informace o mapování sloupců. Toto zobrazení můžete 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é sadě RDBMS.

    Můžete se také rozhodnout zachovat již existující schémata, takže nebudou změněny ani aktualizovány.

    Target Creation Options page

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

  2. Vyberte Další.

Spuštěním skriptu MySQL vytvořte databázové objekty.

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

Create Schemas page

  1. Po vytvoření schémat a jejich objektů se dokončí, vyberte Další.

    Na stránce Vytvořit cílové výsledky se zobrazí seznam vytvořených objektů a oznámení o všech 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.

    Create Target Results page

  2. Zkontrolujte podrobnosti na této stránce a ověřte, že vše bylo dokončeno podle očekávání.

    V tomto článku nemáme žádné chyby. Pokud není potřeba řešit žádné chybové zprávy, můžete upravit skript migrace.

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

  4. V části SKRIPT SQL CREATE pro vybraný objekt upravte skript SQL a pak vyberte Použít pro uložení změn.

  5. Vyberte Znovu vytvořit objekty a spusťte skript včetně změn.

    Pokud se skript nezdaří, možná budete muset vygenerovaný skript upravit. Pak můžete skript SQL opravit ručně a spustit vše znovu. V tomto článku nic neměníme, takže skript ponechá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.

Data Transfer Setup page

Tato stránka obsahuje možnosti 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.

    Bulk Data Transfer page

    Poznámka:

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

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

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

    Migration Progress Report page

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

    Migrace se teď úspěšně dokončila.

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

  1. Dále 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, items, customer, oblečení, world a world_x) z Amazon RDS for MySQL: Databáze MyjolieDB byla úspěšně migrována do služby Azure Database for MySQL: azmysql instance.

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

    SELECT COUNT (*) FROM sakila.actor;

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

    Table and Row size source database

    Table and Row size target database

    I když výše uvedený dotaz můžete spustit pro každé schéma a tabulku, bude to docela práce, pokud pracujete se stovkami tisíc nebo dokonce miliony tabulek. Následující dotazy můžete použít k ověření schématu (databáze) a velikosti 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) z instance Source Amazon RDS MySQL je stejná jako u cílové instance Azure Database for MySQL.

    Database size source database

    Database size target database

    Vzhledem k tomu, že velikosti schématu (databáze) jsou v obou instancích stejné, není ve skutečnosti nutné kontrolovat jednotlivé velikosti tabulek. V každém případě můžete vždy použít výše uvedený dotaz ke kontrole velikostí tabulek podle potřeby.

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

Další kroky