Databases for MySQL 8.4 GA
Como parte de nosso compromisso de oferecer um portfólio de banco de dados em nuvem rico e maduro, a Cloud Databases está lançando a versão MySQL 8.4.
Novas implantações do Databases for MySQL
Para novas implementações do Cloud Databases, faça um backup da instância existente do v8.0 e importe-a para uma implementação do v8.4. Use ferramentas como mysqldump ou mydumper para importar para a implantação do Databases for MySQL v8.4. Para obter mais informações, consulte Migração para Databases for MySQL.
Implantações existentes do Databases for MySQL v8.0
Para migrar as implantações existentes do v8.0 no IBM Cloud® Databases for MySQL para a nova versão principal v8.4, você deve realizar uma atualização de versão principal. O caminho recomendado é restaurar um backup da sua implantação existente do v8.0 em uma nova implantação executando o MySQL v8.4. Você pode iniciar esse processo de atualização usando a interface do usuário, a CLI ou a API. Para obter instruções detalhadas e passo a passo sobre como realizar essa atualização de versão principal, consulte Atualizando para uma nova versão principal.
Quando o upgrade estiver concluído, as alterações não poderão ser revertidas. As alterações são incompatíveis e você não pode usar o diretório de dados de MySQL 8.4 em MySQL 8.0. Mantenha seu backup MySQL v8.0, pois ele ajuda a restaurá-lo em uma instância MySQL v8.0 caso as alterações precisem ser revertidas.
Pré-requisitos de Upgrade
Antes de tentar qualquer atualização, consulte MySQL's Preparando sua instalação para atualização para garantir que ela esteja pronta para a atualização.
Introdução ao Ubuntu 13.04 LTS ( MySQL 8.4)
O MySQL 8.4 é a nova versão de suporte de longo prazo (LTS). Por ser uma versão LTS, seus recursos são estáveis e fixos após o lançamento inicial 8.4.0. Com o fim da vida útil do MySQL 8.0, a migração para MySQL 8.4 é crucial para continuar a receber suporte, correções de bugs e atualizações de segurança.
Principais alterações nas funcionalidades do Databases for MySQL 8.4
Databases for MySQL apresenta os seguintes novos recursos para instâncias de banco de dados executando o MySQL versão 8.4:
- Autenticação: O MySQL 8.4 determina que o caching_sha2_password seja o plug-in de autenticação padrão, removendo completamente a variável default_authentication_plugin. Os clientes que atualmente utilizam mysql_native_password devem migrar suas contas para caching_sha2_password para evitar falhas de conexão. Para obter mais informações, consulte a seção 8.4.1.1, Autenticação nativa plugável.
- MySQL 8.4: Atualizações da terminologia de replicação: o MySQL 8.4 impõe uma linguagem inclusiva, removendo termos não inclusivos, como Master e Slave, da sintaxe SQL, o que significa que as instruções
SQL de replicação obsoletas não são mais suportadas e causarão erros de sintaxe. Por exemplo, use
SHOW BINARY LOG STATUSem vez deSHOW MASTER STATUSe useSHOW REPLICA STATUSem vez deSHOW SLAVE STATUS. A automação e as configurações devem ser atualizadas para usar esses novos nomes. A lista completa das alterações nas instruções está disponível aqui: Novidades no MySQL 8.4 desde o MySQL 8.0. - Alterações no comportamento dos parâmetros:
- binlog_transaction_compression é definido como ON por padrão para reduzir o tempo de transferência de rede e o uso de armazenamento.
- replica_parallel_workers tem como padrão 200 para aumentar significativamente a simultaneidade para uma reprodução mais rápida das transações nas réplicas.
- O padrão para innodb_flush_log_at_trx_commit é 1, para garantir a máxima durabilidade dos dados no nó primário.
- binlog_transaction_compression_level_zstd tem como padrão 3 para equilibrar a eficiência da compactação com a sobrecarga da CPU.
- Parâmetros obsoletos ou removidos:
AUTO_INCREMENTMySQL 8.4 não suporta maisAUTO_INCREMENTemFLOATouDOUBLEcolunas. Antes de atualizar, você deve modificar todas as tabelas que utilizam essa combinação para evitar falhas na atualização.- Remoção de instruções e variáveis de replicação: Uma ampla gama de comandos MASTER /SLAVE* e variáveis de status foram removidos. Isso significa que quaisquer scripts ou ferramentas que dependam dessas variáveis de status não funcionarão mais. Para obter uma lista completa das instruções e variáveis removidas, consulte Novidades no MySQL 8.4 desde MySQL 8.0.
- Variáveis de autenticação: A variável default_authentication_plugin foi removida.
- Alterações notáveis:
- Novas palavras-chave reservadas: MySQL 8.4 reserva palavras-chave como
MANUAL,PARALLEL,QUALIFY, eTABLESAMPLE. Se o seu esquema usar esses identificadores sem aspas, as consultas falharão após a atualização. Verifique e cite esses identificadores antes de atualizar. - Requisito de atualização do índice espacial: um problema conhecido no caminho de atualização pode causar corrupção nos índices espaciais. Para garantir a integridade dos dados, recomendamos excluir todos os índices espaciais antes da atualização e recriá-los imediatamente após a conclusão da migração.
- Atualizações automáticas do histograma: O MySQL 8.4 introduz atualizações automáticas do histograma, aprimorando a otimização de consultas ao eliminar a necessidade de atualizações manuais. Para ativar a atualização automática em um
histograma específico, basta executar
ANALYZE TABLE UPDATE HISTOGRAMcom aAUTO UPDATEopção. - Aumentos de privilégios: O
SET_USER_IDprivilégio foi substituído porSET_ANY_DEFINEReALLOW_NONEXISTENT_DEFINER. - GTIDs: Introduz a capacidade de marcar grupos de transações com GTIDs para um rastreamento aprimorado.
- Novas palavras-chave reservadas: MySQL 8.4 reserva palavras-chave como
Para obter uma lista de todos os recursos e alterações do MySQL 8.4, consulte Novidades no MySQL 8.4 desde o MySQL 8.0 na documentação MySQL.
Transição de semissincronização para assincronização
Ao atualizar de Databases for MySQL v8.0 para v8.4, a arquitetura de replicação padrão é transferida de replicação semissíncrona para replicação assíncrona. Essa alteração melhora o desempenho de gravação e a resiliência, garantindo que o nó primário não fique parado aguardando confirmações de réplicas, tornando seu ambiente de banco de dados mais robusto e consistentemente rápido. Isso aumenta a alta disponibilidade, reduzindo os tempos de failover e melhorando a capacidade de resposta geral do sistema. Para obter mais informações, consulte Entendendo a alta disponibilidade e a recuperação de desastre para o Databases for MySQL.