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.
Přihlaste se k webu Azure Portal. Vyhledejte a vyberte Předplatná.
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 Zaregistrovatpro Microsoft. Migrace dat.
Vytvoření instance Database Migration Service
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 cenové úrovni Premium.
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ě, 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.
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.
Zkontrolujte konfigurace a výběrem možnosti Vytvořit vytvořte službu.
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 vyberte + Nový projekt migrace.
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.
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
Na obrazovce Vybrat zdroj zadejte podrobnosti o připojení pro zdrojovou instanci MySQL a vyberte Další: Vybrat cíl>>.
Na obrazovce Vybrat cíl zadejte podrobnosti o připojení pro cílovou Azure Database for MySQL instanci a vyberte Další: Vybrat databáze>>.
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.
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.
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í.
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.
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.
Monitorování migrace
Na obrazovce aktivity migrace vyberte Aktualizovat , aby se aktualizovalo zobrazení a zobrazilo se průběh počtu dokončených tabulek.
Kliknutím na název databáze na obrazovce aktivity zobrazíte stav jednotlivých tabulek, které se migrují. Vyberte Aktualizovat a aktualizujte zobrazení.
Dokončení migrace
Na obrazovce aktivity migrace vyberte Aktualizovat a aktualizujte zobrazení, dokud se Stav migrace nezmění na Dokončeno.
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:
- Vytvořte přihlašovací údaje, role a oprávnění podle požadavků aplikace.
- Znovu vytvořte všechny triggery v cílové databázi extrahované během kroku před migrací.
- 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ů:
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 vyberte Odstranit službu.
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.
Další kroky
- Informace o známých problémech a omezeních při provádění migrací pomocí DMS najdete v článku Běžné problémy – Azure Database Migration Service.
- Informace o řešení potíží s připojením ke zdrojové databázi při používání DMS najdete v článku Problémy s připojením 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 prostřednictvím PowerShellu najdete v článku PowerShell: Spuštění offline migrace z databáze MySQL do Azure Database for MySQL pomocí DMS.