Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Dicas para atualizar o cluster Percona XtraDB para 8.0

O MySQL 8.0 está disponível há algum tempo e o Percona XtraDB Cluster 8.0 também está disponível há algum tempo. Além disso, o MySQL 5.6 está chegando ao fim da vida útil e as pessoas que usam o PXC 5.6 também desejarão migrar para uma versão mais recente em breve. Vamos dar uma olhada no processo e compartilhar algumas dicas sobre ele.

Lembre-se, é o MySQL Underneath...

Para começar, você deve ter em mente que o Galera é apenas um plug-in que funciona com o MySQL, portanto, você deve garantir que siga as regras e processos de migração para sua versão específica do MySQL usada em seu PXC. Se estivermos executando o PXC 5.7 e você quiser atualizar para o PXC 8.0, primeiro marque todas as caixas na lista de verificação de atualização do MySQL. Cobrimos um pouco disso em nosso blog descrevendo o processo de atualização entre o MySQL 5.7 e o MySQL 8.0. Isso também significa que apenas os caminhos de atualização suportados pelo MySQL são viáveis ​​- por exemplo, você não pode atualizar o PXC 5.6 diretamente para o PXC 8.0, pois a atualização direta do MySQL de 5.6 para 8.0 não é suportada.

Leia a documentação de atualização

Como sempre, sempre que planejar uma atualização, você deve se familiarizar com a documentação preparada pelo fornecedor. A Percona tem uma página da web dedicada a explicar o processo de atualização e advertências sobre ele. Veremos alguns desses pontos neste post do blog.

Alterações de configuração

Existem algumas alterações nas configurações padrão que podem desencadear problemas no processo de atualização - pxc_strict_mode é definido como ENFORCING por padrão. Este modo bloqueia qualquer tipo de configuração que seja experimental e possa afetar a estabilidade do cluster. As verificações abrangem, entre outras coisas, mecanismos de armazenamento usados, formato de log binário, existência de chaves primárias e algumas outras coisas. Ao fazer upgrade, você pode defini-lo como PERMISSIVE para rastrear as incompatibilidades no registro de erros, mas, caso contrário, permita que o PXC seja executado, mesmo que algumas coisas não estejam na melhor forma.

Outra configuração, pxc_encrypt_cluster_traffic, também é habilitada por padrão, reforçando a criptografia da comunicação Galera entre os nós. Não é possível misturar nós com nós criptografados e não criptografados no mesmo cluster, portanto, você deve configurá-lo em todos os nós ou certificar-se de desabilitar o pxc_encrypt_cluster_traffic nos novos nós PXC 8.0.

Alterar no plug-in de autenticação padrão

Nós mencionamos isso em nosso post de blog sobre migração para MySQL 8.0, mas a mudança é tão importante que queremos reiterar aqui também - com MySQL 8.0 o plug-in de autenticação padrão muda para caching_sha2_password - isso pode tornar alguns dos aplicativos mais antigos incompatíveis com o MySQL 8.0. Claro, você pode alterar essa configuração, mas se você não levar isso em consideração, pode sair pela culatra após a conclusão da atualização.

Processos de atualização

Para começar, lembre-se de que, embora não seja recomendado, em alguns é possível ter nós PXC 5.7 e PXC 8.0 em execução no mesmo cluster. Isso abre uma oportunidade de fazer uma atualização ao vivo no local. O processo seria bastante simples - pare o nó PXC 5.7, atualize-o para o PXC 8.0 instalando uma nova versão e iniciando-o. No diretório de dados do processo será atualizado para a nova versão e o novo nó PXC 8.0 deverá ser capaz de iniciar corretamente e ingressar no cluster. Em seguida, você prossegue com os nós um a um, migrando-os do PXC 5.7 para o PXC 8.0. Lembre-se de que você deve evitar o SST, pois um diretório de dados do nó PXC 8.0 não pode ser usado no 5.7. O contrário deve funcionar bem. Para evitar que o SST aconteça, verifique se o tamanho do gcache é grande o suficiente para acomodar gravações e permitir que o IST aconteça. O próprio IST funcionará bem.

Se você tiver mais nós livres, sempre poderá realizar a atualização com dois clusters em diferentes versões principais executados em paralelo e conectados por meio de replicação assíncrona. O que é importante, essa abordagem permitirá que você teste o PXC 8.0 mais detalhadamente, pois você o terá em funcionamento por um tempo (basicamente pelo tempo que precisar) e poderá testar seu aplicativo neste cluster - a qualquer momento tempo, você pode mover parte da carga de trabalho somente leitura para o PXC 8.0, vendo como as consultas são tratadas, se há erros ou problemas de desempenho.

Se você usa o ClusterControl, isso pode ser feito usando o trabalho “Create Slave Cluster”.

Você será solicitado a decidir de onde os dados iniciais devem vir, mestre nó PXC ou do backup.

Você também precisará passar os detalhes de conectividade como usuário SSH e caminho de chave .

Então você será solicitado a escolher o fornecedor e a versão - você provavelmente deseja para usar o PXC 5.7 por enquanto, você atualizará os nós posteriormente, testando o próprio processo de atualização.

Finalmente, você precisa passar os nomes de host ou endereços IP do nó para ClusterControl para conecte-se e comece a configurar os nós.

Como resultado, você terá um segundo Percona XtraDB Cluster rodando na versão 5.7 , replicando do cluster original. Esse cluster pode ser atualizado para a nova versão e, eventualmente, você pode mudar seu tráfego para ele. Explicamos esse processo em detalhes em nossa postagem anterior no blog.

Esperamos que esta breve postagem no blog o ajude a se preparar melhor para atualizar seu Percona XtraDB Cluster para a versão 8.0.