Kurz: Migrace MySQL do Azure Database for MySQL offline s využitím DMS
Pomocí nástroje Azure Database Migration Service provést úplná migrace databází do místní instance MySQL a Azure Database for MySQL možností vysokorychlostní migrace dat. V tomto kurzu budeme migrovat ukázkovou databázi z místní instance MySQL 5.7 do Azure Database for MySQL (verze 5.7) pomocí offline aktivity migrace v Azure Database Migration Service. Přestože články předpokládají, že zdrojem je instance databáze MySQL a cíl je Azure Database for MySQL, je možné ho použít k migraci z jednoho Azure Database for MySQL na jiný pouze změnou názvu a přihlašovacích údajů zdrojového serveru. 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 s replikací dat použít open source nástroje, jako je MyDumper/MyLoader.
Poznámka
Skriptovatelná verze tohoto prostředí migrace založená na PowerShellu najdete v tématu skriptovatelná offline migrace do Azure Database for MySQL.
Poznámka
Jako zdroje pro migraci se podporují také amazonské relační databázové služby (RDS) pro MySQL a Amazon Aurora (založené na MySQL).
V tomto kurzu se naučíte:
- Migrujte schéma 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 účet zdarma.
Mít místní databázi MySQL verze 5.7. Pokud ne, stáhněte a nainstalujte MySQL Community Edition 5.7.
Offline migrace MySQL se podporuje pouze na Premium DMS.
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 Připojení a dotazování dat pomocí aplikace MySQL Workbench. Verze Azure Database for MySQL by měla být stejná nebo vyšší než verze místního MySQL. MySQL 5.7 může například 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í typu 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 článcích Virtual Network azejména v článcích Rychlý start s podrobnými podrobnostmi.
Poznámka
Pokud při nastavování virtuální sítě používáte ExpressRoute s partnerským vztahem sítě s Microsoftem, přidejte do podsítě, ve které se služba zřizované, následující koncové body služby:
- Cílový koncový bod databáze (například SQL koncový bod, Cosmos db a tak dále)
- Storage koncový bod
- 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í sítě vaší virtuální sítě neblokují odchozí port 443 služby ServiceTag pro 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 firewall Windows, aby připojení z Virtual Network pro Azure Database Migration Service mohla přistupovat ke zdrojovému serveru MySQL, který je ve výchozím nastavení portem 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í ze služby Virtual Network, aby mohla služba Azure Database Migration Service přistupovat ke zdrojovým databázím pro migraci.
Vytvořte pravidlo brány firewall na úrovni serveru nebo nakonfigurujte koncové body služby virtuální sítě pro cílové Azure Database for MySQL tak, aby 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.
Změna velikosti cílové Azure Database for MySQL instance
Při přípravě cílového Azure Database for MySQL pro rychlejší načítání dat pomocí Azure Database Migration Service doporučujeme následující parametry serveru a změny 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 vypnout protokol pomalých dotazů, nastavte na VYPNUTO. Tím se eliminují režie způsobené pomalým protokolováním dotazů během načítání dat.
- query_store_capture_mode – nastavte na ŽÁDNÉ, aby se vypnulo úložiště dotazů. Tím se eliminují režie způsobené vzorkováním aktivit podle úložiště dotazů.
- innodb_buffer_pool_size – Innodb_buffer_pool_size je možné zvýšit pouze horizontálním navýšením kapacity výpočetních prostředků pro Azure Database for MySQL server. Během migrace z cenové úrovně portálu Pro obecné účely server na 64 virtuálních jadek a zvyšte innodb_buffer_pool_size.
- innodb_io_capacity & innodb_io_capacity_max – Z parametrů serveru v nástroji Azure Portal na 9000, aby se zlepšilo využití V/V pro optimalizaci rychlosti migrace.
- innodb_write_io_threads & innodb_write_io_threads – Z parametrů serveru v nástroji Azure Portal na 4, aby se zlepšila rychlost migrace.
- Škálování na Storage – počet IOPs pro server Azure Database for MySQL se s nárůstem úrovně úložiště postupně zvyšuje.
- V případě nasazení s jedním serverem doporučujeme zvýšit zřízené IOPs zvýšením úrovně úložiště pro zajištění rychlejšího načítání.
- V možnosti Nasazení flexibilního serveru doporučujeme škálovat (zvýšit nebo snížit) počet IOPS bez ohledu na velikost úložiště.
- Mějte na paměti, že velikost úložiště je možné škálovat pouze nahoru, ne dolů.
Po dokončení migrace můžete vrátit parametry a konfiguraci serveru zpět na hodnoty vyžadované vaší úlohou.
Migrace schématu databáze
K přenosu všech databázových objektů, jako jsou schémata tabulek, indexy a uložené procedury, musíme extrahovat schéma ze zdrojové databáze a použít je pro 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é 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ého 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, úloha migrace bude řešit paralelní načítání dat během migrace. Během migrace schématu není nutné zahodovat cizí klíče ani triggery.
Registrace poskytovatele prostředků Microsoft.DataMigration
Přihlaste se k webu Azure Portal. Vyhledejte a vyberte odběry.

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

Vyhledejte migraci a pak vyberte zaregistrovat pro migraci Microsoft. data.

Vytvoření Database Migration Service instance
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.

Na obrazovce Azure Database Migration Service vyberte Vytvořit.

Na obrazovce Vytvořit službu Migration Service zadejte název služby, předplatné a novou nebo existující skupinu prostředků.
Vyberte cenovou úroveň a přejděte na obrazovku sítě. Možnost offline migrace je dostupná jenom na Premium úrovni.
Další informace o nákladech a cenových úrovních najdete na stránce s cenami.

Ze seznamu vyberte existující virtuální síť nebo zadejte název nové virtuální sítě, která se má vytvořit. Přejděte na obrazovku zkontrolovat a vytvořit. Volitelně můžete do služby přidat značky pomocí obrazovky značek.
Virtuální síť poskytuje Azure Database Migration Service přístup ke zdrojovému SQL Server a cílové Azure SQL Database instanci.

Další informace o tom, jak vytvořit virtuální síť v Azure Portal, najdete v článku Vytvoření virtuální sítě pomocí Azure Portal.
Zkontrolujte konfigurace a vyberte Vytvořit, aby se služba vytvořila.

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.
Na webu Azure Portal vyberte Všechny služby, vyhledejte „Azure Database Migration Service“ a pak vyberte Služby Azure Database Migration Service.

Ve výsledcích hledání vyberte instanci služby Migration Service a pak vyberte + Nová instance Project.

Na obrazovce Nový projekt migrace zadejte název projektu, v poli 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.

Poznámka
Alternativně můžete zvolit možnost Vytvořit projekt pouze a vytvořit projekt migrace teď a později provést migraci.
Konfigurace projektu migrace
Na obrazovce Select source (Vybrat zdroj) zadejte podrobnosti o připojení ke zdrojové instanci MySQL a vyberte Next : Select target>>

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

Na obrazovce Vybrat databáze namapujte zdrojovou a cílovou databázi pro migraci a vyberte Další: konfigurace nastavení migrace>>. Pokud chcete zdroj nastavit jako jen pro čtení, můžete vybrat možnost vytvořit zdrojový server jen pro čtení , ale buďte opatrní, protože se jedná o nastavení na úrovni serveru. Pokud je tato možnost vybrána, nastaví celý server jen pro čtení, nikoli jenom pro 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.

Poznámka
I když v tomto kroku můžete vybrat více databází, existují ale omezení počtu a četnosti migrace databáze tímto způsobem, protože každá databáze bude sdílet výpočetní výkon. s výchozí konfigurací Premium SKU se každá úloha migrace pokusí provést migraci dvou tabulek paralelně. Tyto tabulky mohou být ze všech vybraných databází. Pokud to není dost rychle, můžete aktivity migrace databáze rozdělit do různých úloh migrace a škálovat napříč několika službami. Také platí omezení 10 instancí Azure Database Migration Service pro každé předplatné na oblast. Podrobnější kontrolu propustnosti a paralelismu migrace najdete v článku PowerShellu: spuštění offline migrace z databáze MySQL pro Azure Database for MySQL pomocí DMS.
Na obrazovce Konfigurovat nastavení migrace vyberte tabulky, které mají být součástí migrace, a vyberte další: Souhrn>>. Pokud mají cílové tabulky nějaká data, ve výchozím nastavení nejsou vybrané, ale můžete je explicitně vybrat a před zahájením migrace se zkrátí.

Na obrazovce Souhrn zadejte do textového pole název aktivity název aktivity migrace a zkontrolujte souhrn, abyste se ujistili, že se podrobnosti o zdroji a cíli shodují s tím, co jste předtím zadali.

Vyberte Spustit migraci. Zobrazí se okno aktivity migrace a Stav aktivity bude Inicializace. Když se spustí migrace tabulky, stav se změní na spuštěno .

Monitorování migrace
Na obrazovce aktivita migrace vyberte aktualizovat , aby se zobrazily informace o průběhu počtu dokončených tabulek.
Můžete kliknout na název databáze na obrazovce aktivita a zobrazit stav každé tabulky při jejich migraci. Vyberte aktualizovat , aby se zobrazila aktualizace.

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

Aktivity po migraci
Migrace přímou migraci při offline migraci je proces závislý na aplikaci, který je pro tento dokument mimo rozsah, ale jsou předepsané následující aktivity po migraci:
- Vytvořte přihlašovací údaje, role a oprávnění podle požadavků aplikace.
- Znovu vytvořte všechny aktivační události v cílové databázi jako extrahované během kroku před migrací.
- Proveďte správnosti testování aplikace proti cílové databázi pro certifikaci migrace.
Vyčištění prostředků
Pokud nebudete Database Migration Service nadále používat, můžete službu odstranit pomocí následujících kroků:
Na webu Azure Portal vyberte Všechny služby, vyhledejte „Azure Database Migration Service“ a pak vyberte Služby Azure Database Migration Service.

Z výsledků hledání vyberte instanci migrační služby a vyberte Odstranit službu.

V potvrzovacím dialogovém okně zadejte název služby do textového pole Zadejte název služby pro migraci databáze a vyberte Odstranit .

Další kroky
- Informace o známých problémech a omezeních při provádění migrace pomocí DMS najdete v článku běžné problémy – Azure Database Migration Service.
- Problémy s připojením zdrojové databáze při používání DMS najdete v článku problémy při připojování zdrojových databází.
- Informace o Azure Database Migration Service najdete v článku co je Azure Database Migration Service?.
- Informace o Azure Database for MySQL najdete v článku co je Azure Database for MySQL?.
- Pokyny k používání DMS přes PowerShell najdete v článku PowerShellu: spuštění offline migrace z databáze MySQL pro Azure Database for MySQL pomocí DMS.