Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Místní nebo jiné cloudové služby MySQL Server můžete migrovat na flexibilní server Azure Database for MySQL pomocí služby Azure Database Migration Service (DMS), plně spravované služby navržené tak, aby umožňovaly bezproblémové migrace z více databázových zdrojů na datové platformy Azure. V tomto kurzu provedeme online migraci ukázkové databáze z místního serveru MySQL na flexibilní server Azure Database for MySQL (ve verzi 5.7) pomocí aktivity migrace DMS.
Azure online migrace DMS podporuje migraci na MySQL verze 5.7, 8.0 a 8.4. DMS také podporuje migraci ze serverů MySQL nižší verze (verze 5.6 a novějších) na servery s vyšší verzí. Kromě toho DMS podporuje migrace mezi oblastmi, mezi skupinami prostředků a migracemi mezi předplatnými, takže můžete vybrat oblast, skupinu prostředků a předplatné pro cílový server, který se liší od toho, co zadáte pro zdrojový server.
Poznámka:
Než začnete, projděte si známé problémy s migracemi do Azure Database for MySQL, abyste mohli předvídat potenciální problémy během migrace a připravit se na ně.
V tomto návodu se naučíte, jak:
- Implementujte osvědčené postupy pro vytvoření flexibilního serveru pro rychlejší načítání dat pomocí DMS.
- Vytvoření a konfigurace cílového flexibilního serveru
- Vytvořte instanci DMS.
- Vytvořte projekt migrace MySQL v DMS.
- Migrace schématu MySQL pomocí DMS
- Spuštění migrace
- Monitorujte migraci.
- Proveďte kroky po migraci.
- Implementujte osvědčené postupy pro provádění migrace.
Požadavky
Pro absolvování tohoto kurzu je potřeba provést následující:
Vytvořte nebo použijte existující instanci MySQL (zdrojový server).
Pokud chcete online migraci úspěšně dokončit, ujistěte se, že jsou splněné následující požadavky:
Pomocí nástroje příkazového řádku MySQL podle vašeho výběru ověřte, zda
log_binje na zdrojovém serveru povolena spuštěním příkazu:SHOW VARIABLES LIKE 'log_bin'. Pokudlog_binnení povolená, nezapomeňte ji před zahájením migrace povolit.Ujistěte se, že má uživatel na zdrojovém serveru oprávnění
REPLICATION CLIENTaREPLICATION REPLICAke čtení a použití binárního logu.Pokud cílíte na online migraci, musíte na zdrojovém serveru nakonfigurovat vypršení platnosti binlogu, aby se zajistilo, že se soubory binlogu před potvrzením změn nevyprázdní. Doporučujeme alespoň dva dny na začátek. Parametr závisí na verzi vašeho serveru MySQL. U MySQL 5.7 je
expire_logs_daysparametr (ve výchozím nastavení je nastavený na 0, což není automatické vymazání). Pro MySQL 8.0 jebinlog_expire_logs_seconds(ve výchozím nastavení je nastavená na 30 dnů). Po úspěšném přepnutí můžete hodnotu resetovat.
K úspěšnému dokončení migrace schématu vyžaduje uživatel, který migraci provádí, na zdrojovém serveru následující oprávnění:
Oprávnění SELECT na úrovni serveru ve zdroji.
Při migraci zobrazení musí mít uživatel oprávnění SHOW VIEW na zdrojovém serveru a oprávnění CREATE VIEW na cílovém serveru.
Pokud migrujete triggery, musí mít uživatel oprávnění TRIGGER na zdrojovém a cílovém serveru.
Pokud migrujete rutiny (procedury nebo funkce), musí mít uživatel udělená oprávnění CREATE ROUTINE a ALTER ROUTINE na úrovni serveru v cíli.
Při migraci událostí musí mít uživatel na zdrojovém a cílovém serveru oprávnění UDÁLOSTI .
Pokud migrujete uživatele nebo přihlášení, musí mít uživatel na cílovém serveru oprávnění CREATE USER .
Oprávnění DROP na úrovni serveru v cíli, aby bylo možné vypustit tabulky, které již mohou existovat. Například při opakování migrace.
OPRÁVNĚNÍ REFERENCE na úrovni serveru na cílovém zařízení, aby bylo možné vytvářet tabulky s cizími klíči.
Pokud migrujete na MySQL 8.0, musí mít uživatel na cílovém serveru oprávnění SESSION_VARIABLES_ADMIN .
Oprávnění CREATE na úrovni serveru v cíli
Oprávnění INSERT na úrovni serveru na cílovém objektu.
Aktualizovat oprávnění na úrovni serveru v cíli.
Oprávnění DELETE na úrovni serveru v cíli.
Omezení
Při přípravě na migraci nezapomeňte vzít v úvahu následující omezení.
Při migraci objektů, které nejsou tabulkami, DMS nepodporuje přejmenování databází.
Při migraci na cílový server s povoleným
bin_lognezapomeňte povolitlog_bin_trust_function_creatorspro vytvoření rutin a triggerů.DMS v současné době nepodporuje migraci klauzule DEFINER objektů. Všechny typy objektů s definicemi ze zdroje se v cíli zahodí. Po migraci je výchozí definice pro všechny objekty, které podporují klauzuli defineru a které jsou vytvořeny během migrace schématu, nastaveny na přihlašovací jméno použité ke spuštění migrace.
V současné době DMS podporuje migraci schématu pouze v rámci přesunu dat. Pokud není pro přesun dat vybráno nic, nedojde k migraci schématu. Výběrem tabulky pro migraci schématu ji také vyberete pro přesun dat.
Online podpora migrace je omezena na formát ROW binlog.
Flexibilní server Azure Database for MySQL nepodporuje smíšené databáze. Pro online migraci nejsou zahrnuté smíšené databáze ve zdroji.
Online migrace nyní podporuje replikaci příkazů DDL při migraci na cílový server Azure Database for MySQL Flexible Server verze 8.0 nebo 5.7.
Replikace příkazů je podporována pro databáze, tabulky a objekty schématu (zobrazení, rutiny, aktivační události) vybrané pro migraci schématu při konfiguraci aktivity migrace Azure DMS. Definice dat a příkazy správy pro databáze, tabulky a objekty schématu, které nejsou vybrány, se nereplikují. Výběr celého serveru pro migraci replikuje příkazy pro všechny tabulky, databáze a objekty schématu vytvořené na zdrojovém serveru po dokončení počátečního načtení.
Replikace příkazů Azure DMS podporuje všechny příkazy Definice dat s výjimkou následujících příkazů:
- Příkazy LOGFILE GROUP
- Příkazy SERVERU
- Příkazy systému prostorových referencí
- Příkazy TABLESPACE
Replikace příkazů Azure DMS podporuje všechny příkazy správy dat – správa účtů s výjimkou následujících příkazů:
- NASTAVIT VÝCHOZÍ ROLI
- NASTAVIT HESLO
Replikace příkazů Azure DMS podporuje všechny příkazy Správy dat – Table Maintenance s výjimkou následujících příkazů:
- Oprava tabulky
- ANALÝZA TABULKY
- TABULKA KONTROLNÍCH SOUČTŮ
Příkaz Azure DMS nebo replikace binlogu nepodporuje následující syntaxi:
CREATE TABLE 'b' as SELECT * FROM 'a';Replikace tohoto DDL má za následek následující chybu: Příkazy BINLOG INSERT, COMMIT a ROLLBACK jsou povoleny po příkazu CREATE TABLE s příkazem START TRANSACTION.
Dobu trvání migrace může ovlivnit údržba výpočetní infrastruktury v backendu, která může vynulovat průběh.
Osvědčené postupy pro vytvoření flexibilního serveru za účelem zrychlení načítání dat s využitím DMS
DMS podporuje migrace mezi oblastmi, mezi skupinami prostředků a migracemi mezi předplatnými, takže pro cílový flexibilní server můžete vybrat příslušnou oblast, skupinu prostředků a předplatné. Před vytvořením cílového flexibilního serveru si projděte následující doprovodné materiály ke konfiguraci, které vám pomůžou zajistit rychlejší načítání dat s využitím DMS.
Vyberte velikost výpočetních prostředků a úroveň výpočetních prostředků cílového flexibilního serveru na základě konfigurace zdrojového serveru MySQL.
1 Pro migraci zvolte jako osvědčený postup pro cílový flexibilní server výpočetní kapacitu pro obecné účely s 16 virtuálními jádry nebo vyšší, aby se urychlila migrace. Po dokončení migrace se škálujte zpět na požadovanou velikost výpočetních prostředků cílového serveru.
Verze MySQL pro cílový flexibilní server musí být větší nebo rovna zdrojovému serveru MySQL.
Pokud nepotřebujete nasadit cílový flexibilní server v konkrétní zóně, nastavte hodnotu parametru Zóny dostupnosti na Bez předvolby.
V případě síťového připojení vyberte na kartě Sítě možnost Privátní přístup; v opačném případě vyberte Veřejný přístup nakonfigurujte pravidla brány firewall tak, aby umožňovala přístup k cílovému flexibilnímu serveru.
Vytvoření a konfigurace cílového flexibilního serveru
S ohledem na tyto osvědčené postupy vytvořte cílový flexibilní server a pak ho nakonfigurujte.
Vytvořte cílový flexibilní server. Postup s asistencí najdete v rychlém startu : Vytvoření instance Služby Azure Database for MySQL pomocí webu Azure Portal.
Nový cílový flexibilní server nakonfigurujte následujícím způsobem:
Uživatel provádějící migraci vyžaduje následující oprávnění:
Ujistěte se, že uživatel má oprávnění
REPLICATION_APPLIERneboBINLOG_ADMINna cílovém serveru pro aplikaci binárního logu.Ujistěte se, že má uživatel
REPLICATION REPLICAna cílovém serveru oprávnění.Ujistěte se, že má uživatel na zdrojovém serveru oprávnění
REPLICATION CLIENTaREPLICATION REPLICAke čtení a použití binárního logu.Aby uživatel mohl vytvářet tabulky v cíli, musí mít
CREATEoprávnění.Pokud migrujete tabulku s možnostmi rozdělení
DATA DIRECTORYneboINDEX DIRECTORY, uživatel musí mít oprávněníFILE.Při migraci na tabulku s
UNIONmožností musí mít uživatel oprávněníSELECT,UPDATEaDELETEpro tabulky, které mapujete naMERGEtabulku.Pokud migrujete zobrazení, musíte mít
CREATE VIEWoprávnění.
Mějte na paměti, že v závislosti na obsahu zobrazení můžou být nutná určitá oprávnění. Podrobnosti najdete v dokumentaci k MySQL specifické pro verzi, kterou používáte
CREATE VIEW STATEMENT.- Při migraci událostí musí uživatel mít
EVENToprávnění. - Pokud se migrují triggery, uživatel musí mít privilegium
TRIGGER. - Pokud migrujete rutiny, uživatel musí mít
CREATE ROUTINEprivilegium.
Parametry serveru na cílovém flexibilním serveru nakonfigurujte následujícím způsobem:
Nastavte verzi protokolu TLS a parametr serveru require_secure_transport tak, aby odpovídal hodnotám na zdrojovém serveru.
Nastavte parametr serveru sql_mode tak, aby odpovídal hodnotám na zdrojovém serveru.
Nakonfigurujte parametry serveru na cílovém serveru tak, aby odpovídaly jakýmkoli jiným než výchozím hodnotám používaným na zdrojovém serveru.
Pokud chcete zajistit rychlejší načítání dat při použití DMS, nakonfigurujte následující parametry serveru, jak je popsáno.
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– nastavte naOFFpro vypnutí protokolu pomalých dotazů. Tím se eliminují náklady způsobené pomalým protokolováním dotazů během zpracování dat.innodb_buffer_pool_size– lze zvýšit pouze vertikálním navýšením výpočetní kapacity serveru Azure Database for MySQL. Vertikálně navyšte kapacitu serveru na 64 virtuálních jader SKU pro obecné účely z cenové úrovně portálu během migrace, abyste zvýšili kapacituinnodb_buffer_pool_size.innodb_io_capacityainnodb_io_capacity_max– Změňte na 9000 z parametrů serveru na webu Azure Portal, abyste zlepšili využití vstupně-výstupních operací, aby se optimalizovala rychlost migrace.innodb_write_io_threads– Změna na 4 z parametrů serveru na webu Azure Portal za účelem zlepšení rychlosti migrace.
Nakonfigurujte repliky na cílovém serveru tak, aby odpovídaly replikám na zdrojovém serveru.
Nastavení DMS
S nasazeným a nakonfigurovaným cílovým flexibilním serverem je potřeba nastavit DMS pro migraci zdrojového serveru MySQL na flexibilní server.
Registrace poskytovatele prostředků
Pokud chcete zaregistrovat poskytovatele prostředků Microsoft.DataMigration, proveďte následující kroky.
Před vytvořením první instance DMS se přihlaste k webu Azure Portal a vyhledejte a vyberte Předplatná.
Vyberte předplatné, které chcete použít k vytvoření instance DMS, a pak vyberte Poskytovatele prostředků.
Vyhledejte termín "Migrace" a pak v části Microsoft.DataMigration vyberte Zaregistrovat.
Vytvoření instance služby Database Migration Service (DMS)
Na webu Azure Portal vyberte + Vytvořit prostředek, vyhledejte termín 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 stránce Vybrat scénář migrace a službu Database Migration Service v části Scénář migrace jako typ zdrojového serveru vyberte MySQL a pak jako typ cílového serveru vyberte Azure Database for MySQL a pak vyberte Vybrat.
Na stránce Vytvořit službu migrace na kartě Základy vyberte v části Podrobnosti projektu příslušné předplatné a pak vyberte existující skupinu prostředků nebo vytvořte novou.
V části Podrobnosti o instanci zadejte název služby, vyberte oblast a pak ověřte, že azure je vybrán jako režim služby.
Napravo od cenové úrovně vyberte Konfigurovat úroveň.
Na stránce Konfigurovat vyberte cenovou úroveň Premium se 4 virtuálními jádry pro vaši instanci DMS a pak vyberte Použít.
DMS Premium 4-vCore je zdarma po dobu šesti měsíců (183 dnů) od data vytvoření služby DMS před účtováním jakýchkoli poplatků. Další informace o nákladech na DMS a cenových úrovních najdete na stránce s cenami.
Dále musíme zadat virtuální síť, která poskytuje instanci DMS s přístupem k cílovému flexibilnímu serveru.
Na stránce Vytvořit službu migrace vyberte Další: Sítě >>.
Na kartě Sítě vyberte ze seznamu existující virtuální síť nebo zadejte název nové virtuální sítě, kterou chcete vytvořit, a pak vyberte Zkontrolovat a vytvořit.
Další informace najdete v článku Vytvoření virtuální sítě pomocí webu Azure Portal.
Vaše virtuální síť musí být nakonfigurovaná s přístupem ke zdrojovému serveru MySQL i cílovému flexibilnímu serveru, proto nezapomeňte:
- Vytvořte pravidlo brány firewall na úrovni serveru nebo nakonfigurujte sítě pro zdrojový server MySQL i cílové servery Azure Database for MySQL, které umožní virtuální síti pro službu Azure Database Migration Service přístup ke zdrojovým i cílovým databázím.
- Ujistěte se, že pravidla skupiny zabezpečení sítě (NSG) virtuální sítě neblokují odchozí port 443 serviceTag pro ServiceBus, Storage a Azure Monitor. Další informace o filtrování provozu NSG virtuální sítě naleznete v tématu Filtrování síťového provozu pomocí skupin zabezpečení sítě.
Poznámka:
Pokud chcete do služby přidat značky , přejděte na kartu Značky výběrem možnosti Další: Značky. Přidání značek do služby je volitelné.
Přejděte na kartu Zkontrolovat a vytvořit, zkontrolujte konfigurace, zobrazte podmínky a pak vyberte Vytvořit.
Teď se spustí nasazení instance DMS. Na několik minut se zobrazí zpráva Nasazování probíhá a poté se zpráva změní na Vaše nasazení je dokončeno.
Vyberte Přejít k prostředku.
Na stránce přehledu zdrojů identifikujte IP adresu instance DMS a vytvořte pravidlo brány firewall pro váš zdrojový server MySQL a cílový flexibilní server, který umožňuje povolení seznamu IP adres IP adresy instance DMS.
Vytvoření projektu migrace
Pokud chcete vytvořit projekt migrace, proveďte následující kroky.
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 DMS, kterou jste vytvořili, a pak vyberte + Nový projekt migrace.
Na stránce Nový projekt migrace zadejte název projektu, v poli Pro výběr typu zdrojového serveru vyberte MySQL, v poli Výběr typu cílového serveru vyberte Flexibilní server Azure Database for MySQL, v poli Pro výběr typu aktivity migrace vyberte Online migraci dat a pak vyberte Vytvořit a spustit aktivitu.
Výběrem Vytvořit pouze projekt jako typu aktivity migrace vytvoříte pouze projekt migrace. Poté můžete projekt migrace spustit později.
Konfigurace projektu migrace
Pokud chcete nakonfigurovat projekt migrace DMS, proveďte následující kroky.
Na obrazovce Vybrat zdroj musíme zajistit, aby dmS byla ve virtuální síti, která má připojení ke zdrojovému serveru. Tady zadáte název zdrojového serveru, port serveru, uživatelské jméno a heslo ke zdrojovému serveru.
Vyberte Další: Vyberte cíl >>a potom na obrazovce Vybrat cíl vyhledejte server založený na předplatném, umístění a skupině prostředků. Uživatelské jméno se vyplní automaticky a pak zadá heslo pro cílový flexibilní server.
Vyberte >>, a potom na kartě Vybrat databáze, v části Možnosti migrace serveru vyberte Migrovat všechny příslušné databáze nebo v části Vybrat databáze vyberte objekty serveru, které chcete migrovat.
Teď je k dispozici možnost Migrovat všechny použitelné databáze . Pokud je tato možnost vybraná, migruje všechny databáze a tabulky vytvořené uživatelem. Vzhledem k tomu, že flexibilní server Azure Database for MySQL nepodporuje databáze s kombinací velkých a malých písmen, nejsou databáze s touto vlastností na zdroji zahrnuty do online migrace.
V části Vybrat databáze v části Zdrojová databáze vyberte databáze, které chcete migrovat.
Netabulkové objekty v databázích, které jste zadali, se migrují, zatímco položky, které jste nevybrali, se přeskočí. Můžete vybrat pouze zdrojové a cílové databáze, jejichž názvy odpovídají názvům na zdrojovém a cílovém serveru.
Pokud vyberete databázi na zdrojovém serveru, která na cílovém serveru neexistuje, vytvoří se na cílovém serveru.
Vyberte Další: Vybrat tabulky >> a přejděte na kartu Vybrat tabulky.
Před naplněním karty služba DMS načte tabulky z vybraných databází ve zdroji a cíli a pak určí, jestli tabulka existuje a obsahuje data.
Vyberte tabulky, které chcete migrovat.
Pokud vybraná zdrojová tabulka na cílovém serveru neexistuje, proces online migrace zajistí migraci schématu tabulky a dat na cílový server.
DMS ověří vaše vstupy a pokud ověření projde, můžete migraci spustit.
Po konfiguraci migrace schématu vyberte Zkontrolovat a spustit migraci.
Pokud se pokoušíte řešit potíže s neúspěšnou migrací, stačí přejít na kartu Konfigurovat nastavení migrace.
Na kartě Souhrn v textovém poli Název aktivity zadejte 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 Zahájit migraci.
Zobrazí se okno aktivity migrace a stav aktivity je Inicializuje se. Stav se změní na Spuštěno, když se spustí migrace tabulek.
Monitorování migrace
Po dokončení aktivity Počáteční načtení přejděte na kartu Počáteční načtení a zobrazte stav dokončení a počet dokončených tabulek.
Po dokončení aktivity Počáteční načtení budete automaticky přesměrováni na kartu Replikovat změny dat. Průběh migrace můžete monitorovat při automatické aktualizaci obrazovky každých 30 sekund.
Vyberte Aktualizovat, pokud chcete aktualizovat zobrazení a v případě potřeby zobrazit počet sekund zpoždění oproti zdroji.
Sledujte počet sekund za zdrojem a jakmile se blíží 0, pokračujte přechodem na kartu nabídky Start Cutover v horní části obrazovky aktivity migrace.
Než budete připraveni provést přepnutí, postupujte během období přepnutí podle těchto kroků.
Po dokončení všech kroků vyberte Potvrdit a potom vyberte Použít.
Provádění aktivit po migraci
Po dokončení migrace proveďte následující aktivity po migraci.
Provést základní testování aplikace s cílovou databází za účelem ověření úspěšnosti migrace
Aktualizujte připojovací řetězec tak, aby odkazoval na nový flexibilní server.
Pokud jste škálovali cílový flexibilní server pro rychlejší migraci, škálujte ho zpět výběrem velikosti výpočetních prostředků a úrovně výpočetních prostředků pro flexibilní server na základě konfigurace zdrojového serveru MySQL.
Pokud chcete vyčistit zdroje DMS, proveďte následující kroky:
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 svou instanci služby migrace a pak vyberte Odstranit službu.
V potvrzovací dialogovém okně zadejte do textového rámečku NÁZEV SLUŽBY DATABASE MIGRATION SERVICE název instance a pak vyberte Odstranit.
Osvědčené postupy migrace
Při provádění migrace nezapomeňte vzít v úvahu následující osvědčené postupy.
V rámci zjišťování a hodnocení vezměte v úvahu SKU serveru, využití procesoru, úložiště, velikosti databáze a využití rozšíření jako některá z kritických dat, která vám pomohou s migrací.
Před migrací do produkce proveďte testovací migrace:
Testovací migrace jsou důležité pro zajištění pokrytí všech aspektů migrace databáze, včetně testování aplikací. Osvědčeným postupem je začít spuštěním migrace výhradně pro účely testování. Poté, co nově zahájená migrace vstoupí do fáze replikace změn dat s minimálním zpožděním, používejte pro spouštění testovacích úloh pouze cílový flexibilní server. Použijte tento cíl pro testování aplikace, abyste zajistili očekávaný výkon a výsledky. Pokud migrujete na vyšší verzi MySQL, otestujte kompatibilitu aplikací.
Po dokončení testování můžete migrovat produkční databáze. V této fázi je třeba stanovit den a čas migrace do produkčního prostředí. V ideálním případě je v tuto chvíli aplikace málo využívána. Všechny zúčastněné strany, které je třeba zapojit, musí být k dispozici a připraveny. Produkční migrace vyžaduje pečlivé sledování. U online migrace musí být replikace dokončena před provedením přímé migrace, aby se zabránilo ztrátě dat.
Přesměrujte všechny závislé aplikace pro přístup k nové primární databázi a nastavte zdrojový server pouze pro čtení. Poté otevřete aplikace pro produkční použití.
Po spuštění aplikace na cílovém flexibilním serveru pečlivě sledujte výkon databáze a zjistěte, zda je vyžadováno ladění výkonu.