MySQL 8.0 je již nějakou dobu k dispozici a Percona XtraDB Cluster 8.0 je také již nějakou dobu k dispozici. Také MySQL 5.6 se blíží ke konci své životnosti a lidé používající PXC 5.6 budou také chtít brzy migrovat na novější verzi. Pojďme se na tento proces podívat a podělit se o několik tipů.
Pamatujte si, že je to MySQL Underneath...
Pro začátek musíte mít na paměti, že Galera je pouze plugin, který pracuje s MySQL, takže musíte zajistit, že budete dodržovat pravidla a procesy migrace pro vaši konkrétní verzi MySQL, která se používá ve vašem PXC. Pokud používáme PXC 5.7 a chcete upgradovat na PXC 8.0, musíte nejprve zaškrtnout všechna políčka v kontrolním seznamu aktualizace MySQL. Něco z toho jsme popsali v našem blogu popisujícím proces upgradu mezi MySQL 5.7 a MySQL 8.0. To také znamená, že realizovatelné jsou pouze cesty upgradu podporované MySQL - například nemůžete upgradovat PXC 5.6 přímo na PXC 8.0, protože přímý upgrade MySQL z 5.6 na 8.0 není podporován.
Přečtěte si dokumentaci k upgradu
Jako obvykle, kdykoli plánujete upgrade, měli byste se seznámit s dokumentací připravenou dodavatelem. Percona má webovou stránku věnovanou vysvětlování procesu upgradu a upozornění na něj. Některé z těchto bodů projdeme v tomto příspěvku na blogu.
Změny konfigurace
Ve výchozím nastavení konfigurace je několik změn, které mohou způsobit problémy v procesu upgradu – pxc_strict_mode je standardně nastaveno na VYNUCOVÁNÍ. Tento režim blokuje jakýkoli druh konfigurace, která je experimentální a může ovlivnit stabilitu clusteru. Kontroly se mimo jiné týkají použitých úložišť, binárního formátu protokolu, existence primárních klíčů a některých dalších věcí. Při upgradu jej možná budete chtít nastavit na POVOLENÉ, abyste sledovali nekompatibility v protokolu chyb, ale jinak nechte PXC běžet, i když některé věci nejsou v nejlepším stavu.
Další nastavení, pxc_encrypt_cluster_traffic, je také ve výchozím nastavení povoleno, což vynucuje šifrování komunikace Galera mezi uzly. Není možné kombinovat uzly se zašifrovanými a nešifrovanými uzly ve stejném clusteru, proto to musíte buď nastavit na všech uzlech, nebo zajistit, že vypnete pxc_encrypt_cluster_traffic na nových uzlech PXC 8.0.
Změna ve výchozím modulu pro ověřování
Zmínili jsme to v našem příspěvku na blogu o migraci na MySQL 8.0, ale změna je tak důležitá, že ji chceme zopakovat i zde – u MySQL 8.0 se výchozí ověřovací plugin změní na caching_sha2_password – to může učinit některé ze starších aplikací nekompatibilními s MySQL 8.0. Toto nastavení samozřejmě můžete změnit, ale pokud jej nebudete brát v úvahu, může se po dokončení upgradu vrátit zpět.
Procesy upgradu
Pro začátečníky mějte prosím na paměti, že i když se to nedoporučuje, u některých je možné mít uzly PXC 5.7 i PXC 8.0 spuštěné ve stejném clusteru. Otevírá se tak příležitost provést na místě živý upgrade. Proces by byl docela jednoduchý – zastavte uzel PXC 5.7, upgradujte jej na PXC 8.0 instalací nové verze a jejím spuštěním. V adresáři procesních dat bude upgradován na novou verzi a nový uzel PXC 8.0 by měl být schopen se správně spustit a připojit se ke clusteru. Pak budete pokračovat s uzly jeden po druhém a migrovat je z PXC 5.7 na PXC 8.0. Mějte prosím na paměti, že byste se měli vyhnout SST, protože datový adresář z uzlu PXC 8.0 nelze použít na 5.7. Opačně by to mělo fungovat ok. Chcete-li zabránit SST, zajistěte, aby velikost gcache byla dostatečně velká, aby vyhovovala zápisům a umožnila provádění IST. Samotný IST bude fungovat dobře.
Pokud máte více volných uzlů, můžete upgrade vždy provést pomocí dvou clusterů na různých hlavních verzích běžících paralelně a připojených prostřednictvím asynchronní replikace. Co je důležité, takový přístup vám umožní otestovat PXC 8.0 důkladněji, protože jej budete mít chvíli v provozu (v podstatě tak dlouho, jak ho potřebujete) a můžete testovat svou aplikaci na tomto clusteru – kdykoli v Časem můžete přesunout část pracovní zátěže pouze pro čtení do PXC 8.0, abyste viděli, jak jsou zpracovávány dotazy, pokud se vyskytnou nějaké chyby nebo problémy s výkonem.
Pokud používáte ClusterControl, lze toho dosáhnout pomocí úlohy „Create Slave Cluster“.

Budete požádáni, abyste rozhodli, odkud mají pocházet počáteční data, mistře uzlu PXC nebo ze zálohy.

Budete také muset předat podrobnosti o připojení, jako je uživatel SSH a cesta klíče .

Poté budete požádáni o výběr dodavatele a verze – pravděpodobně budete chtít chcete-li prozatím používat PXC 5.7, upgradujete uzly později a otestujete samotný proces upgradu.

Nakonec musíte předat názvy hostitelů uzlů nebo adresy IP pro ClusterControl připojte se a začněte nastavovat uzly.

V důsledku toho budete mít druhý Percona XtraDB Cluster běžící ve verzi 5.7 , replikující se z původního clusteru. Tento cluster lze upgradovat na novou verzi a případně na něj můžete přepnout provoz. Tento proces jsme podrobně vysvětlili v našem předchozím příspěvku na blogu.
Doufáme, že vám tento krátký příspěvek na blogu pomůže lépe se připravit na upgrade vašeho Percona XtraDB Cluster na verzi 8.0.