Sdílet prostřednictvím


Upgrade hlavní verze ve službě Azure Database for MySQL

Poznámka:

Tento článek obsahuje odkazy na termín slave (podřízený) , což je termín, který už Microsoft nepoužívá. Když se termín odebere ze softwaru, odebereme ho z tohoto článku.

Tento článek popisuje, jak upgradovat hlavní verzi MySQL na flexibilním serveru Azure Database for MySQL. Tato funkce umožňuje zákazníkům provádět upgrady hlavních verzí (například z MySQL 5.7 na 8.0 nebo 8.0 na 8.4), aniž by museli přesouvat data nebo měnit připojovací řetězce aplikace.

Důležité

  • Doba trvání výpadku se liší podle velikosti instance databáze a počtu tabulek, které obsahuje.
  • Při zahájení upgradu hlavní verze flexibilního serveru Azure Database for MySQL prostřednictvím rozhraní REST API nebo sady SDK se vyhněte úpravám dalších vlastností služby ve stejném požadavku. Souběžné změny nejsou povolené a můžou vést k nezamýšleným výsledkům nebo selhání požadavku. Po dokončení upgradu proveďte úpravy vlastností v samostatných operacích.
  • Některé úlohy nemusí po upgradu hlavní verze vykazovat vyšší výkon. Doporučujeme vyhodnotit výkon úlohy tak, že nejprve vytvoříte server repliky (jako testovací server), pak ho povyšte na samostatný server a potom spustíte úlohu na testovacím serveru před implementací upgradu v produkčním prostředí.
  • Upgrade hlavní verze MySQL je nevratný. Nasazení může selhat, pokud ověření zjistí, že je server nakonfigurovaný se všemi odebranými nebo zastaralými funkcemi v cílové verzi. Na serveru můžete provést potřebné změny konfigurace a zkusit upgrade provést znovu.

Požadavky

  • Repliky pro čtení se starší verzí MySQL by se měly upgradovat před primárním serverem pro replikaci, aby byla kompatibilní mezi různými verzemi MySQL. Přečtěte si další informace o kompatibilitě replikace mezi verzemi MySQL.
  • Před upgradem produkčních serverů je teď jednodušší a efektivnější díky naší integrované funkci Ověřit na webu Azure Portal. Tento nástroj předem zkontroluje kompatibilitu schématu databáze s cílovou verzí MySQL a zvýrazňuje potenciální problémy. I když nabízíme tuto výhodnou možnost, důrazně doporučujeme použít oficiální nástroj Pro kontrolu upgradu Oracle MySQL k otestování kompatibility schématu databáze a provedení nezbytných regresních testů k ověření kompatibility aplikací s funkcemi odebranými/ v nové verzi MySQL.
  • Před provedením upgradu hlavní verze na produkčním serveru aktivujte zálohování na vyžádání . Zálohy pořízené před upgradem je možné použít k vrácení zpět na předchozí verzi z úplného zálohování na vyžádání.
  • Než budete pokračovat v upgradu hlavní verze, ujistěte se, že v databázi nejsou žádné aktivní nebo čekající transakce XA, protože probíhající transakce XA mohou potenciálně způsobit selhání procesu upgradu. Nejprve, chcete-li se vyhnout tomuto problému, zkontrolujte všechny transakce XA v "připraveném" stavu spuštěním XA RECOVER;. U všech identifikovaných transakcí použijte XA ROLLBACK '{xid}'; k vrácení každé transakce, přičemž {xid} nahraďte ID transakce. Před zahájením upgradu zajistěte, aby všechny transakce XA byly potvrzeny nebo vráceny zpět, aby se zachovala konzistence transakcí a snížila riziko selhání upgradu.

Poznámka:

Pokud k kontrole kompatibility schématu používáte oficiální nástroj Oracle, může dojít k určitým upozorněním, která u uložených procedur označují neočekávané tokeny, například:

mysql.az_replication_change_master - at line 3,4255: unexpected token 'REPLICATION'

mysql.az_add_action_history - PROCEDURE uses obsolete NO_AUTO_CREATE_USER sql_mode

Tato upozornění můžete bezpečně ignorovat. Odkazují na předdefinované uložené procedury s předponou mysql., které se používají k podpoře funkcí Azure MySQL. Tato upozornění nemají vliv na funkčnost vaší databáze.

Provedení plánovaného upgradu hlavní verze pomocí webu Azure Portal pro servery SKU s možností nárazového škálování

Provedení upgradu hlavní verze pro výpočetní úroveň SKU Azure Database for MySQL Burstable vyžaduje specializovaný pracovní postup. Upgrady hlavních verzí jsou náročné na prostředky, náročné na procesor a paměť. Instance SKU s možností nárůstu kapacity, které jsou založené na kreditech, můžou za těchto požadavků mít potíže, což může způsobit selhání procesu upgradu. Proto při upgradu skladové položky s možností nárazového škálování systém nejprve upgraduje výpočetní úroveň na skladovou položku General-Purpose, aby se zajistilo, že pro upgrade budou k dispozici dostatečné prostředky.

Pokud chcete provést upgrade hlavní verze pro výpočetní úroveň SKU Azure Database for MySQL Burstable pomocí webu Azure Portal, postupujte takto:

  1. Na webu Azure Portal vyberte existující instanci flexibilního serveru Azure Database for MySQL.

    Důležité

    Doporučujeme nejprve provést upgrade na obnovené kopii serveru místo přímého upgradu produkčního prostředí. Podívejte se, jak provést obnovení k určitému bodu v čase.

  2. Na stránce Přehled na panelu nástrojů vyberte Upgradovat.

    Důležité

    Před upgradem přejděte na odkaz pro seznam funkcí odebraných v cílové verzi MySQL. Pomocí okna Parametry serveru na webu Azure Portal ověřte sql_mode zastaralé hodnoty a pomocí okna Parametry serveru na webu Azure Portal je odeberte nebo zrušte jejich výběr z aktuálního flexibilního serveru Azure Database for MySQL. sql_mode s hodnotami NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS a NO_TABLE_OPTIONS se už v MySQL 8.0 a novějším nepodporují.

    Snímek obrazovky znázorňující upgrade flexibilního serveru Azure Database for MySQL

  3. Ověření kompatibility schématu

    Než budete pokračovat v upgradu, spusťte oficiální nástroj pro kontrolu upgradu MySQL společnosti Oracle a ověřte, že aktuální schéma databáze je kompatibilní s cílovou verzí MySQL. Tento krok je zásadní pro zajištění hladkého procesu upgradu.

  4. Rozhodnutí o předběžném upgradu

    Před upgradem musíte zvolit úroveň výpočetních prostředků, která se má upgradovat, aby se provedl upgrade hlavní verze. Ve výchozím nastavení systém upgraduje ze skladové položky Burstable na základní skladovou položku pro obecné účely, ale v případě potřeby můžete upgradovat na vyšší úroveň výpočetních prostředků. Upozorňujeme, že zatímco váš server pracuje na úrovni Pro obecné účely během upgradu, budou se vám účtovat pouze skutečné prostředky pro obecné účely použité během tohoto období.

  5. Rozhodnutí po upgradu

    Po upgradu se rozhodněte, jestli chcete skladovou položku pro obecné účely zachovat nebo se vrátit k skladové posílané skladové položky. Tato volba se zobrazí při počátečním postupu upgradu.

    Systém automaticky upgraduje úroveň výpočetních prostředků ze skladové položky burstable na vybranou skladovou položku pro obecné účely, aby podporoval upgrade hlavní verze.

  6. Upgrade hlavní verze

    Po upgradu výpočetní úrovně zahájí systém proces upgradu hlavní verze. Průběh upgradu můžete monitorovat prostřednictvím webu Azure Portal. Proces upgradu může nějakou dobu trvat v závislosti na velikosti a aktivitě databáze. Upozorňujeme, že pokud se upgrade hlavní verze nezdaří, úroveň výpočetních prostředků se automaticky nevrátí k předchozí skladové jednotce Burstable. To zákazníkům umožňuje pokračovat v upgradu hlavní verze bez opětovného upgradu úrovně výpočetních prostředků.

  7. Automatická reversion

    Na základě vašeho rozhodnutí o předběžném nasazení systém buď ponechá skladovou položku pro obecné účely, nebo se po upgradu automaticky vrátí k skladové po upgradu. Pokud se automaticky vrátíte na skladovou položku Burstable, systém se ve výchozím nastavení vrátí k skladové poště B2S.

Provedení plánovaného upgradu hlavní verze pomocí webu Azure Portal pro servery SKU pro obecné účely a pro důležité obchodní informace

Pokud chcete provést upgrade hlavní verze flexibilního serveru Azure Database for MySQL pomocí webu Azure Portal, proveďte následující kroky.

  1. Na webu Azure Portal vyberte existující instanci flexibilního serveru Azure Database for MySQL.

    Důležité

    Doporučujeme nejprve provést upgrade na obnovené kopii serveru místo přímého upgradu produkčního prostředí. Podívejte se, jak provést obnovení k určitému bodu v čase.

  2. Na stránce Přehled na panelu nástrojů vyberte Upgradovat.

    Důležité

    Před upgradem přejděte na odkaz pro seznam funkcí odebraných v cílové verzi MySQL. Pomocí okna Parametry serveru na webu Azure Portal ověřte sql_mode zastaralé hodnoty a pomocí okna Parametry serveru na webu Azure Portal je odeberte nebo zrušte jejich výběr z aktuálního flexibilního serveru Azure Database for MySQL. sql_mode s hodnotami NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS a NO_TABLE_OPTIONS se už v MySQL 8.0 a novějším nepodporují.

    Snímek obrazovky znázorňující upgrade flexibilního serveru Azure Database for MySQL

  3. Provedení ověření před upgradem

    Než budete pokračovat v upgradu, vyberte tlačítko Ověřit a zkontrolujte kompatibilitu serveru s cílovou verzí MySQL.

    Snímek obrazovky znázorňující ověření

    Poznámka:

    Online ověřování se v současné době nepodporuje pro upgrade hlavní verze 8.0 až 8.4. Zákazník se doporučuje použít komunitní nástroj k ověření před upgradem. Online validace podpory pro verze 8.0 až 8.4 bude dostupná v blízké budoucnosti.
    Při použití funkce Ověřit k posouzení kompatibility schématu databáze s cílovou verzí MySQL si poznamenejte následující skutečnosti:

    • Uzamčení tabulky během ověřování: Proces ověření zahrnuje uzamčení tabulek, aby bylo možné přesně zkontrolovat celé schéma. To může vést k vypršení časových limitů dotazů v případě velkého zatížení databáze.   Doporučení: Vyhněte se spouštění ověřování během špičky pracovní doby nebo když databáze zpracovává vysoký provoz. Místo toho naplánujte ověření během období s nízkou aktivitou, abyste snížili dopad na operace.
    • Potenciál pro předsazení kvůli velkým sadám výsledků: V některých případech , zejména u složitých databází obsahujících mnoho objektů, se výsledek ověření může stát příliš velký, aby se mohl zpracovat nebo zobrazit v rámci online pracovního postupu. To může vést k tomu, že se operace „Ověřit“ zdá být zablokována nebo že stále probíhá po neurčitou dobu.   Doporučení: Pokud narazíte na tento problém, doporučujeme provést ověření místně pomocí oficiálního nástroje kontroly upgradu na straně klienta Oracle, jako je například nástroj, který je součástí Prostředí MySQL. Tento přístup zabraňuje omezením velikosti výsledků na straně platformy a poskytuje podrobnější a spolehlivější výstup ověření.
    • Doporučené případy použití pro online ověření: Funkce Online Ověření je určená pro jednoduchá nebo středně složitá schémata. V případě rozsáhlých produkčních prostředí, jako jsou například tabulky, zobrazení, rutiny nebo jiné objekty schématu, důrazně doporučujeme k provedení kontroly kompatibility použít nástroj pro kontrolu upgradu na straně klienta Oracle. Tím se zajistí komplexní analýza celého schématu a zabrání potenciálním problémům souvisejícím s vypršením časového limitu velikosti výsledku nebo ověření.
  4. Na bočním panelu Upgrade ověřte ve verzi MySQL, na které chcete upgradovat text, hlavní verzi MySQL (například 8.0 nebo 8.4).

    Snímek obrazovky znázorňující upgrade

    Před upgradem primárního serveru musíte nejprve upgradovat všechny přidružené servery replik pro čtení. Dokud se tento postup nedokončí, upgrade se zakáže.

  5. Na primárním serveru vyberte potvrzovací zprávu, abyste ověřili, že byly upgradovány všechny servery repliky, a pak vyberte Upgradovat.

    Snímek obrazovky znázorňující upgrade

    Upgrade je ve výchozím nastavení povolený na replikách pro čtení a samostatných serverech.

Provedení plánovaného upgradu hlavní verze pomocí Azure CLI

Pokud chcete provést upgrade hlavní verze flexibilního serveru Azure Database for MySQL pomocí Azure CLI, proveďte následující kroky.

  1. Nainstalujte Azure CLI pro Windows nebo pomocí Azure CLI v Azure Cloud Shellu spusťte příkazy upgradu.

    Tento upgrade vyžaduje Azure CLI verze 2.40.0 nebo novější. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze. Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

  2. Po přihlášení spusťte příkaz az MySQL server upgrade .

    az mysql flexible-server upgrade --name {your mysql server name} --resource-group {your resource group} --subscription {your subscription id} --version {target major version}
    

    Nahraďte {target major version} verzí, na kterou chcete upgradovat (například 8 nebo 8.4).

  3. V potvrzovací výzvě zadejte y , abyste potvrdili nebo n zastavili proces upgradu, a stiskněte Enter.

Upgrade hlavní verze na serveru repliky pro čtení pomocí webu Azure Portal

Pokud chcete provést upgrade hlavní verze flexibilního serveru Azure Database for MySQL repliky pro čtení pomocí webu Azure Portal, proveďte následující kroky.

  1. vyberte existující flexibilní server Azure Database for MySQL a na webu Azure Portal načtěte server repliky.

  2. Na stránce Přehled na panelu nástrojů vyberte Upgradovat.

    Důležité

    Před upgradem přejděte na odkaz pro seznam funkcí odebraných v cílové verzi MySQL. Pomocí okna Parametry serveru na webu Azure Portal ověřte sql_mode zastaralé hodnoty a pomocí okna Parametry serveru na webu Azure Portal je odeberte nebo zrušte jejich výběr z aktuálního flexibilního serveru Azure Database for MySQL.

  3. V části Upgrade vyberte Upgrade a upgradujte server repliky pro čtení flexibilního serveru Azure Database for MySQL na cílovou hlavní verzi. Zobrazí se oznámení s potvrzením, že upgrade proběhl úspěšně.

  4. Na stránce Přehled ověřte, že server repliky pro čtení flexibilního serveru Azure Database for MySQL používá cílovou verzi.

  5. přejděte na primární server a proveďte upgrade hlavní verze.

Provedení minimálního výpadku upgradu hlavní verze pomocí replik pro čtení

Pokud chcete provést upgrade hlavní verze flexibilního serveru Azure Database for MySQL s minimálními výpadky pomocí serverů replik pro čtení, proveďte následující kroky.

  1. na webu Azure Portal vyberte existující instanci flexibilního serveru Azure Database for MySQL.

  2. Vytvořte repliku pro čtení z primárního serveru.

  3. Upgradujte repliku pro čtení na cílovou hlavní verzi.

  4. Po potvrzení, že server repliky používá cílovou verzi, zastavte aplikaci v připojení k primárnímu serveru.

  5. Zkontrolujte stav replikace a ujistěte se, že replika zachytila primární server, takže se synchronizují všechna data a v primárním serveru se neprovádí žádné nové operace.

  6. Potvrďte zobrazení stavu repliky pomocí příkazu zobrazit stav repliky na serveru repliky.

    SHOW SLAVE STATUS\G
    

    Pokud je stav Slave_IO_Running a Slave_SQL_Running ano a hodnota Seconds_Behind_Master je 0, replikace funguje dobře. Seconds_Behind_Master označuje, jak pozdě je replika. Pokud hodnota není 0, replika stále zpracovává aktualizace. Po potvrzení, že hodnota Seconds_Behind_Master je 0, je bezpečné zastavit replikaci.

  7. Zvyšte úroveň repliky pro čtení na primární tím, že zastavíte replikaci.

  8. Nastavte parametr serveru read_only na hodnotu 0 (VYPNUTO) a začněte psát na povýšené primární.

  9. Nasměrujte aplikaci na novou primární (bývalou repliku) se spuštěnou cílovou verzí. Každý server má jedinečný připojovací řetězec. Místo zdroje aktualizujte aplikaci tak, aby odkazovat na (bývalou) repliku.

    Poznámka:

    Tento scénář způsobuje výpadek pouze během kroků 4 až 7.