Kurz: Migrace MySQL do Azure Database for MySQL offline pomocí DMS

Pomocí Azure Database Migration Service můžete provést jednorázovou úplnou migraci databáze v místní instanci MySQL, abyste Azure Database for MySQL s možností vysokorychlostní migrace dat. V tomto kurzu provedeme migraci ukázkové databáze z místní instance MySQL 5.7 do Azure Database for MySQL (v5.7) pomocí aktivity offline migrace v Azure Database Migration Service. I když články předpokládají, že zdrojem je instance databáze MySQL a cíl, který se má Azure Database for MySQL, dá se použít k migraci z jedné Azure Database for MySQL na jinou změnou názvu zdrojového serveru a přihlašovacích údajů. Podporuje se také migrace ze serverů MySQL nižší verze (verze 5.6 a novější) na vyšší verze.

Důležité

Pro online migrace můžete použít opensourcové nástroje, jako jsou MyDumper nebo MyLoader , s replikací příchozích dat.

Poznámka

Skriptovatelnou verzi tohoto prostředí migrace založenou na PowerShellu najdete v tématu Skriptovatelná offline migrace do Azure Database for MySQL.

Poznámka

Jako zdroje migrace se podporují také služby Amazon Relational Database Service (RDS) for MySQL a Amazon Aurora (založené na MySQL).

V tomto kurzu se naučíte:

  • Migrace schématu databáze pomocí nástroje mysqldump
  • Vytvořte instanci služby Azure Database Migration Service.
  • Vytvořte projekt migrace pomocí Azure Database Migration Service.
  • Spuštění migrace
  • Monitorujte migraci.

Požadavky

Pro absolvování tohoto kurzu je potřeba provést následující:

  • Mít účet Azure s aktivním předplatným. Vytvořte si zdarma účet.

  • Máte místní databázi MySQL verze 5.7. Pokud ne, stáhněte a nainstalujte MySQL Community Edition 5.7.

  • Migrace MySQL Offline se podporuje pouze na skladové pořidce DMS úrovně Premium.

  • Vytvořte instanci ve službě Azure Database for MySQL. Podrobnosti o připojení a vytvoření databáze pomocí aplikace Workbench najdete v článku Použití aplikace MySQL Workbench k připojení a dotazování dat. Azure Database for MySQL verze by měla být stejná nebo vyšší než místní verze MySQL. Například MySQL 5.7 může migrovat na Azure Database for MySQL 5.7 nebo upgradovat na verzi 8.

  • Vytvořte Microsoft azure Virtual Network pro Azure Database Migration Service pomocí modelu nasazení Azure Resource Manager, který poskytuje připojení site-to-site k místním zdrojovým serverům pomocí ExpressRoute nebo VPN. Další informace o vytvoření virtuální sítě najdete v dokumentaci k Virtual Network a zejména v článcích Rychlý start s podrobnými podrobnostmi.

    Poznámka

    Pokud během instalace virtuální sítěSítě používáte ExpressRoute s partnerským vztahem sítě k Microsoft, přidejte do podsítě, ve které bude služba zřízena, následující koncové body služby:

    • Koncový bod cílové databáze (například koncový bod SQL, koncový bod služby Azure Cosmos DB atd.)
    • Koncový bod úložiště
    • Koncový bod služby Service Bus

    Tato konfigurace je nezbytná, protože Azure Database Migration Service nemá připojení k internetu.

  • Ujistěte se, že pravidla skupiny zabezpečení virtuální sítě neblokují odchozí port 443 značky služby ServiceBus, Storage a AzureMonitor. Další podrobnosti o filtrování provozu NSG virtuální sítě najdete v článku Filtrování síťového provozu pomocí skupin zabezpečení sítě.

  • Otevřete bránu Windows Firewall a povolte připojení z Virtual Network pro Azure Database Migration Service přístup ke zdrojovému serveru MySQL, který je ve výchozím nastavení port TCP 3306.

  • Pokud před zdrojovými databázemi používáte zařízení brány firewall, možná budete muset přidat pravidla brány firewall, která povolí připojení z Virtual Network pro Azure Database Migration Service přístup ke zdrojovým databázím za účelem migrace.

  • Vytvořte pravidlo brány firewall na úrovni serveru nebo nakonfigurujte koncové body služeb virtuální sítě pro cílové Azure Database for MySQL tak, aby umožňovaly Virtual Network pro Azure Database Migration Service přístup k cílovým databázím.

  • Zdrojová instance MySQL musí být na podporované edici MySQL Community Edition. Pokud chcete určit verzi instance MySQL, v nástroji MySQL nebo aplikaci MySQL Workbench spusťte následující příkaz:

    SELECT @@version;
    
  • Azure Database for MySQL podporuje pouze tabulky InnoDB. Informace o převodu tabulek MyISAM na tabulky InnoDB najdete v článku Převod tabulek z MyISAM na InnoDB.

  • Uživatel musí mít oprávnění ke čtení dat ve zdrojové databázi.

Určení velikosti cílové instance Azure Database for MySQL

Pokud chcete cílový Azure Database for MySQL server připravit na rychlejší načítání dat pomocí Azure Database Migration Service, doporučujeme provést následující změny parametrů serveru a konfigurace.

  • max_allowed_packet – nastavte na 1073741824 (tj. 1 GB), aby se zabránilo problémům s připojením kvůli velkým řádkům.
  • slow_query_log – pokud chcete protokol pomalých dotazů vypnout, nastavte na VYPNUTO. Tím se eliminuje režie způsobená pomalým protokolováním dotazů během načítání dat.
  • query_store_capture_mode – pokud chcete vypnout úložiště dotazů, nastavte na ŽÁDNÉ. Tím se eliminuje režie způsobená aktivitami vzorkování úložiště dotazů.
  • innodb_buffer_pool_size – Innodb_buffer_pool_size je možné zvýšit pouze vertikálním navýšením kapacity výpočetních prostředků pro Azure Database for MySQL server. Během migrace vertikálně navyšte kapacitu serveru na 64 virtuálních jader Pro obecné účely SKU z cenové úrovně portálu, abyste zvýšili innodb_buffer_pool_size.
  • & innodb_io_capacity innodb_io_capacity_max – Změňte parametry serveru v Azure Portal na hodnotu 9000, abyste zlepšili využití vstupně-výstupních operací a optimalizovali rychlost migrace.
  • & innodb_write_io_threads innodb_write_io_threads – Pokud chcete zvýšit rychlost migrace, změňte v části Parametry serveru v Azure Portal na 4.
  • Vertikální navýšení kapacity úrovně úložiště – Počet vstupně-výstupních operací za sekundu pro Azure Database for MySQL server postupně roste s nárůstem úrovně úložiště.
    • U možnosti Nasazení jednoúčelového serveru doporučujeme zvýšit počet zřízených vstupně-výstupních operací za sekundu pro rychlejší načítání zvýšením úrovně úložiště.
    • U možnosti nasazení flexibilního serveru doporučujeme škálovat (zvýšit nebo snížit) IOPS bez ohledu na velikost úložiště.
    • Mějte na paměti, že velikost úložiště je možné pouze vertikálně navýšit, nikoli snížit.

Po dokončení migrace můžete vrátit parametry serveru a konfiguraci zpět na hodnoty vyžadované vaší úlohou.

Migrace schématu databáze

Abychom mohli přenést všechny databázové objekty, jako jsou schémata tabulek, indexy a uložené procedury, musíme extrahovat schéma ze zdrojové databáze a použít cílovou databázi. K extrahování schématu můžete použít nástroj mysqldump s parametrem --no-data. K tomu potřebujete počítač, který se může připojit ke zdrojové databázi MySQL i k cílovému Azure Database for MySQL.

Pokud chcete exportovat schéma pomocí nástroje mysqldump, spusťte následující příkaz:

mysqldump -h [servername] -u [username] -p[password] --databases [db name] --no-data > [schema file path]

Příklad:

mysqldump -h 10.10.123.123 -u root -p --databases migtestdb --no-data > d:\migtestdb.sql

Pokud chcete importovat schéma do cílové Azure Database for MySQL, spusťte následující příkaz:

mysql.exe -h [servername] -u [username] -p[password] [database]< [schema file path]

Příklad:

mysql.exe -h mysqlsstrgt.mysql.database.azure.com -u docadmin@mysqlsstrgt -p migtestdb < d:\migtestdb.sql

Pokud máte ve schématu cizí klíče nebo triggery, paralelní načítání dat během migrace bude zpracovávat úloha migrace. Během migrace schématu není nutné vypouštět cizí klíče ani triggery.

Registrace poskytovatele prostředků

Než vytvoříte první instanci služby Database Migration Service, zaregistrujte poskytovatele prostředků Microsoft.DataMigration.

  1. Přihlaste se k webu Azure Portal. Vyhledejte a vyberte Předplatná.

    Zobrazení předplatných na portálu

  2. Vyberte předplatné, ve kterém chcete vytvořit instanci Azure Database Migration Service, a pak vyberte Poskytovatelé prostředků.

    Zobrazení poskytovatelů prostředků

  3. Vyhledejte migraci a pak vyberte Zaregistrovatpro Microsoft. Migrace dat.

    Registrace poskytovatele prostředků

Vytvoření instance Database Migration Service

  1. Na webu Azure Portal vyberte + Vytvořit prostředek, vyhledejte „Azure Database Migration Service“ a pak v rozevíracím seznamu vyberte Azure Database Migration Service.

    Azure Marketplace

  2. Na obrazovce Azure Database Migration Service vyberte Vytvořit.

    Vytvoření instance služby Azure Database Migration Service

  3. Na obrazovce Vytvořit službu Migration Service zadejte název služby, předplatné a novou nebo existující skupinu prostředků.

  4. Vyberte cenovou úroveň a přejděte na obrazovku Sítě. Možnost offline migrace je dostupná jenom na cenové úrovni Premium.

    Další informace o nákladech a cenových úrovních najdete na stránce s cenami.

    Konfigurace Azure Database Migration Service základních nastavení

  5. Ze seznamu vyberte existující virtuální síť nebo zadejte název nové virtuální sítě, kterou chcete vytvořit. Přejděte na obrazovku zkontrolovat a vytvořit. Volitelně můžete do služby přidat značky pomocí obrazovky se značkami.

    Virtuální síť poskytuje Azure Database Migration Service přístup ke zdrojové SQL Server a cílové instanci Azure SQL Database.

    Konfigurace nastavení sítě Azure Database Migration Service

    Další informace o vytvoření virtuální sítě v Azure Portal najdete v článku Vytvoření virtuální sítě pomocí Azure Portal.

  6. Zkontrolujte konfigurace a výběrem možnosti Vytvořit vytvořte službu.

    Azure Database Migration Service vytvořit

Vytvoření projektu migrace

Po vytvoření služby ji vyhledejte na webu Azure Portal, otevřete ji a pak vytvořte nový projekt migrace.

  1. Na webu Azure Portal vyberte Všechny služby, vyhledejte „Azure Database Migration Service“ a pak vyberte Služby Azure Database Migration Service.

    Vyhledání všech instancí Azure Database Migration Service

  2. Ve výsledcích hledání vyberte instanci služby Migration Service a vyberte + Nový projekt migrace.

    Vytvoření nového projektu migrace

  3. Na obrazovce Nový projekt migrace zadejte název projektu, ve výběru Typ zdrojového serveru vyberte MySQL, v poli Typ cílového serveru vyberte Azure Database for MySQL a v poli Typ aktivity migrace vyberte Migrace dat. Vyberte Vytvořit a spustit aktivitu.

    Vytvoření projektu Database Migration Service

    Poznámka

    Případně můžete zvolit Vytvořit projekt jenom a vytvořit projekt migrace teď a provést migraci později.

Konfigurace projektu migrace

  1. Na obrazovce Vybrat zdroj zadejte podrobnosti o připojení pro zdrojovou instanci MySQL a vyberte Další: Vybrat cíl>>.

    Obrazovka Přidat podrobnosti o zdroji

  2. Na obrazovce Vybrat cíl zadejte podrobnosti o připojení pro cílovou Azure Database for MySQL instanci a vyberte Další: Vybrat databáze>>.

    Obrazovka Přidání podrobností o cíli

  3. Na obrazovce Vybrat databáze namapujte zdrojovou a cílovou databázi pro migraci a vyberte Další: Konfigurovat nastavení>> migrace. Výběrem možnosti Nastavit zdrojový server jen pro čtení můžete nastavit zdroj jako jen pro čtení, ale buďte opatrní, že se jedná o nastavení na úrovni serveru. Pokud je tato možnost vybraná, nastaví celý server jen pro čtení, nikoli jenom vybrané databáze.

    Pokud cílová databáze obsahuje stejný název databáze jako zdrojová databáze, Azure Database Migration Service ve výchozím nastavení vybere cílovou databázi. Obrazovka Výběr podrobností databáze

    Poznámka

    V tomto kroku sice můžete vybrat více databází, ale existují omezení počtu a rychlosti migrace databází tímto způsobem, protože každá databáze bude sdílet výpočetní prostředky. Při výchozí konfiguraci skladové položky Premium se každá úloha migrace pokusí migrovat dvě tabulky paralelně. Tyto tabulky můžou pocházet z kterékoli z vybraných databází. Pokud to není dostatečně rychlé, můžete aktivity migrace databáze rozdělit do různých úloh migrace a škálovat mezi více služeb. Existuje také limit 10 instancí Azure Database Migration Service na předplatné a oblast. Podrobnější kontrolu nad propustností a paralelizací migrace najdete v článku PowerShell: Spuštění offline migrace z databáze MySQL do Azure Database for MySQL pomocí DMS.

  4. Na obrazovce Konfigurovat nastavení migrace vyberte tabulky, které mají být součástí migrace, a vyberte Další: Souhrn>>. Pokud cílové tabulky obsahují nějaká data, nejsou ve výchozím nastavení vybrané, ale můžete je explicitně vybrat a před zahájením migrace se zkrátí.

    Obrazovka Výběr tabulek

  5. Na obrazovce Souhrn zadejte do textového pole Název aktivity název aktivity migrace a zkontrolujte souhrn, abyste měli jistotu, že podrobnosti o zdroji a cíli odpovídají dříve zadaným údajům.

    Shrnutí projektu migrace

  6. Vyberte Spustit migraci. Zobrazí se okno aktivity migrace a Stav aktivity bude Inicializace. Stav se při spuštění migrace tabulek změní na Spuštěno.

    Spuštění migrace

Monitorování migrace

  1. Na obrazovce aktivity migrace vyberte Aktualizovat , aby se aktualizovalo zobrazení a zobrazilo se průběh počtu dokončených tabulek.

  2. Kliknutím na název databáze na obrazovce aktivity zobrazíte stav jednotlivých tabulek, které se migrují. Vyberte Aktualizovat a aktualizujte zobrazení.

    Monitorování migrace

Dokončení migrace

  1. Na obrazovce aktivity migrace vyberte Aktualizovat a aktualizujte zobrazení, dokud se Stav migrace nezmění na Dokončeno.

    Dokončení migrace

Aktivity po migraci

Přímá migrace v offline migraci je proces závislý na aplikaci, který je mimo rozsah tohoto dokumentu, ale jsou předepsány následující aktivity po migraci:

  1. Vytvořte přihlašovací údaje, role a oprávnění podle požadavků aplikace.
  2. Znovu vytvořte všechny triggery v cílové databázi extrahované během kroku před migrací.
  3. Provést základní testování aplikace s cílovou databází za účelem ověření úspěšnosti migrace

Vyčištění prostředků

Pokud nebudete dál používat Database Migration Service, můžete službu odstranit pomocí následujících kroků:

  1. Na webu Azure Portal vyberte Všechny služby, vyhledejte „Azure Database Migration Service“ a pak vyberte Služby Azure Database Migration Service.

    Vyhledání všech instancí DMS

  2. Ve výsledcích hledání vyberte instanci služby Migration Service a vyberte Odstranit službu.

    Odstranění služby Migration Service

  3. V potvrzovací dialogovém okně zadejte název služby do textového pole ZADEJTE NÁZEV SLUŽBY DATABASE MIGRATION SERVICE a vyberte Odstranit.

    Potvrzení odstranění služby Migration Service

Další kroky