Mysql
 sql >> Database >  >> RDS >> Mysql

Suggerimenti per l'aggiornamento di Percona XtraDB Cluster a 8.0

MySQL 8.0 è disponibile da tempo e anche Percona XtraDB Cluster 8.0 è disponibile da tempo. Inoltre, MySQL 5.6 sta arrivando alla fine del suo ciclo di vita e le persone che utilizzano PXC 5.6 vorranno anche migrare presto a una versione più recente. Diamo un'occhiata al processo e condividiamo alcuni suggerimenti al riguardo.

Ricorda, è MySQL Underneath...

Per cominciare, devi tenere a mente che Galera è solo un plug-in che funziona con MySQL, quindi devi assicurarti di aderire alle regole e ai processi di migrazione per la tua particolare versione di MySQL utilizzata nel tuo PXC. Se stiamo eseguendo PXC 5.7 e desideri eseguire l'aggiornamento a PXC 8.0, devi prima selezionare tutte le caselle nell'elenco di controllo dell'aggiornamento di MySQL. Ne abbiamo parlato in parte nel nostro blog che descrive il processo di aggiornamento tra MySQL 5.7 e MySQL 8.0. Significa anche che sono possibili solo percorsi di aggiornamento supportati da MySQL, ad esempio, non puoi aggiornare PXC 5.6 direttamente a PXC 8.0 poiché l'aggiornamento diretto di MySQL da 5.6 a 8.0 non è supportato.

Leggi la documentazione di aggiornamento

Come al solito, ogni volta che pianifichi un aggiornamento, dovresti familiarizzare con la documentazione preparata dal fornitore. Percona ha una pagina web dedicata alla spiegazione del processo di aggiornamento e alle avvertenze al riguardo. Esamineremo alcuni di questi punti in questo post del blog.

Modifiche alla configurazione

Ci sono un paio di modifiche alle impostazioni di configurazione predefinite che potrebbero causare problemi nel processo di aggiornamento:pxc_strict_mode è impostato su ENFORCING per impostazione predefinita. Questa modalità blocca qualsiasi tipo di configurazione sperimentale e può influire sulla stabilità del cluster. I controlli riguardano, tra le altre cose, i motori di archiviazione utilizzati, il formato del registro binario, l'esistenza di chiavi primarie e altre cose. Durante l'aggiornamento, potresti voler impostarlo su PERMISSIVO per tenere traccia delle incompatibilità nel registro degli errori, ma in caso contrario lasciare che il PXC venga eseguito anche se alcune cose non sono nella forma migliore.

Anche un'altra impostazione, pxc_encrypt_cluster_traffic, è abilitata per impostazione predefinita, applicando la crittografia della comunicazione Galera tra i nodi. Non è possibile combinare nodi con nodi crittografati e non crittografati nello stesso cluster, quindi è necessario configurarlo su tutti i nodi o assicurarsi di disabilitare pxc_encrypt_cluster_traffic sui nuovi nodi PXC 8.0.

Modifica nel plug-in di autenticazione predefinito

Ne abbiamo parlato nel nostro post sul blog sulla migrazione a MySQL 8.0, ma la modifica è così importante che vogliamo ribadirla anche qui - con MySQL 8.0 il plug-in di autenticazione predefinito cambia in caching_sha2_password - questo potrebbe rendere alcune delle vecchie applicazioni incompatibili con MySQL 8.0. Ovviamente puoi modificare questa impostazione, ma se non la prendi in considerazione, potrebbe ritorcersi contro una volta completato l'aggiornamento.

Processi di aggiornamento

Per cominciare, tieni presente che, sebbene non consigliato, con alcuni è possibile avere entrambi i nodi PXC 5.7 e PXC 8.0 in esecuzione nello stesso cluster. Ciò apre l'opportunità di eseguire un aggiornamento dal vivo sul posto. Il processo sarebbe abbastanza semplice:arrestare il nodo PXC 5.7, aggiornarlo a PXC 8.0 installando una nuova versione e avviandola. Nella directory dei dati di processo verrà aggiornato alla nuova versione e il nuovo nodo PXC 8.0 dovrebbe essere in grado di avviarsi correttamente e unirsi al cluster. Quindi si procede con i nodi uno per uno, migrandoli da PXC 5.7 a PXC 8.0. Tieni presente che dovresti evitare SST poiché una directory di dati dal nodo PXC 8.0 non può essere utilizzata su 5.7. Il contrario dovrebbe funzionare bene. Per evitare che si verifichi SST, assicurati che le dimensioni di gcache siano sufficientemente grandi da contenere le scritture e consentire l'esecuzione di IST. L'IST stesso funzionerà perfettamente.

Se hai più nodi liberi, puoi sempre eseguire l'aggiornamento con due cluster su diverse versioni principali in esecuzione in parallelo e collegati tramite replica asincrona. Ciò che è importante, tale approccio ti consentirà di testare il PXC 8.0 in modo più approfondito poiché lo avrai attivo e funzionante per un po' (in pratica finché ne avrai bisogno) e potrai testare la tua applicazione su questo cluster - in qualsiasi momento in tempo è possibile spostare parte del carico di lavoro di sola lettura su PXC 8.0 per vedere come vengono gestite le query, se sono presenti errori o problemi di prestazioni.

Se utilizzi ClusterControl, puoi farlo utilizzando il lavoro "Crea cluster slave".

Ti verrà chiesto di decidere da dove devono provenire i dati iniziali, maestro nodo PXC o dal backup.

Dovrai anche passare i dettagli della connettività come l'utente SSH e il percorso della chiave .

Quindi ti verrà chiesto di scegliere il fornitore e la versione - probabilmente vuoi per utilizzare PXC 5.7 per ora, aggiornerai i nodi in un secondo momento, testando il processo di aggiornamento stesso.

Infine, devi passare i nomi host del nodo o gli indirizzi IP per ClusterControl a connettiti e inizia a configurare i nodi.

Come risultato avrai un secondo cluster Percona XtraDB in esecuzione nella versione 5.7 , replicando dal cluster originale. Quel cluster può essere aggiornato alla nuova versione e, alla fine, puoi indirizzare il tuo traffico verso di esso. Abbiamo spiegato questo processo in dettaglio nel nostro precedente post sul blog.

Ci auguriamo che questo breve post sul blog ti aiuti a prepararti meglio per aggiornare il tuo cluster Percona XtraDB alla versione 8.0.