Atualizações do mecanismo de banco de dados do Aurora MySQL de 2023-07-31 (versão 3.04.0, compatível com MySQL 8.0.28) - Amazon Aurora

Atualizações do mecanismo de banco de dados do Aurora MySQL de 2023-07-31 (versão 3.04.0, compatível com MySQL 8.0.28)

Versão: 3.04.0

O Aurora MySQL 3.04.0 está disponível para o público. As versões do Aurora MySQL 3.04 são compatíveis com o MySQL 8.0.28, as versões do Aurora MySQL 3.03 são compatíveis com o MySQL 8.0.26, e as versões do Aurora MySQL 3.02 são compatíveis com o MySQL 8.0.23. Para obter mais informações sobre as alterações da comunidade que ocorreram de 8.0.23 para 8.0.28, consulte as Notas de lançamento do MySQL 8.0.

nota

Esta versão é designada como uma versão de suporte de longo prazo (LTS). Para obter mais informações, consulte Versões de suporte de longo prazo (LTS) do Aurora MySQL no Guia do usuário do Amazon Aurora.

Recomendamos que você não defina o parâmetro AutoMinorVersionUpgrade como true (nem ative Upgrade automático de versões secundárias no Console de gerenciamento da AWS) para versões LTS. Fazer isso poderia levar o cluster de banco de dados a ser atualizado para a próxima versão-alvo da campanha de Atualização automática de versão secundária, que pode não ser uma versão LTS.

Para obter detalhes sobre novos recursos no Aurora MySQL versão 3, consulte Aurora MySQL versão 3 compatível com o MySQL 8.0. Consulte as diferenças entre o Aurora MySQL versão 3 e o Aurora MySQL versão 2 em Comparação do Aurora MySQL versão 2 e do Aurora MySQL versão 3. Consulte uma comparação do Aurora MySQL versão 3 e do MySQL 8.0 Community Edition em Comparação do Aurora MySQL versão 3 e do MySQL 8.0 Community Edition.

As versões atualmente compatíveis do Aurora MySQL são 2.07.9, 2.11.1, 2.11.2, 3.01.*, 3.02.*, 3.03.* e 3.04.0.

Você pode realizar um upgrade no local, restaurar um snapshot ou iniciar um upgrade gerenciado azul/verde usando implantações azul/verde do Amazon RDS de qualquer cluster do Aurora MySQL versão 2 atualmente compatível para um cluster do Aurora MySQL versão 3.04.0.

Para obter informações sobre como planejar um upgrade para o Aurora MySQL versão 3, consulte Fazer upgrade para o Aurora MySQL versão 3 no Guia do usuário do Amazon Aurora. Para obter informações gerais sobre os upgrades do Aurora MySQL, consulte Como atualizar os clusters de banco de dados de Amazon Aurora MySQL no Guia do usuário do Amazon Aurora.

Para obter informações sobre a solução de problemas, consulte Solução de problemas de atualização com o Aurora MySQL versão 3.

Em caso de dúvidas ou preocupações, o AWS Support está disponível nos fóruns da comunidade e por meio do AWS Support. Para obter mais informações, consulte Manutenção de um cluster de banco de dados do Amazon Aurora no Guia do usuário do Amazon Aurora.

nota

O log binário aprimorado (binlog) do Aurora MySQL atualmente não é compatível com a instância de banco de dados do Aurora Sem Servidor v2 no Aurora MySQL versão 3.04.0. A habilitação desse recurso pode levar à indisponibilidade do banco de dados. Se você precisar usar o log binário aprimorado no Aurora MySQL versão 3.04.0, recomendamos usar uma classe de instância de banco de dados que não usa a tecnologia servidor ou definir a ACU mínima e máxima da instância de banco de dados do Serverless v2 com o mesmo valor.

Mais informações sobre o log binário aprimorado no Aurora MySQL estão disponíveis no Guia do usuário do Aurora.

Melhorias

Novos atributos:

Correção de problemas de segurança e CVEs:

  • O provedor SSL/TLS foi alterado de OpenSSL para AWS-LC. Isso traz uma série de mudanças, incluindo, mas não se limitando às seguintes:

    • As conexões de banco de dados usando SSL agora podem ser restauradas com reinício com tempo de inatividade zero e aplicação de patch com tempo de inatividade zero ao fazer upgrade do Aurora MySQL versão 3.04.0 para uma versão posterior.

    • Suporte para TLSv1.3, que inclui compatibilidade com cifras SSL TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384 e TLS_CHACHA20_POLY1305_SHA256.

    • Remoção do suporte para cifras DHE-RSA-* menos seguras.

    Para obter mais informações, consulte Usar TLS com clusters de banco de dados do Aurora MySQL.

  • Adicionado o privilégio dinâmico SHOW_ROUTINE ao rds_superuser_role, que permite o acesso às definições e propriedades de todas as rotinas armazenadas, como procedimentos e funções armazenados. Para obter mais detalhes, consulte SHOW_ROUTINE.

  • Corrigido um problema que pode fazer com que o log de auditoria perca eventos durante a rotação do arquivo de log de auditoria.

  • Suporte habilitado para o protocolo Transport Layer Security (TLS) 1.3 seguro e de alto desempenho, mantendo a compatibilidade com a versão 1.2 do TLS.

  • As versões TLS TLSv1 e TLSv1.1 foram descontinuadas no MySQL 8.0.26 da comunidade e, correspondentemente, no Aurora MySQL 3.03. Esses protocolos agora foram removidos no MySQL 8.0.28 da comunidade e, correspondentemente, no Aurora MySQL 3.04. Por padrão, qualquer cliente seguro que não possa se comunicar via TLS 1.2 ou posterior será rejeitado. Para obter mais informações sobre como se conectar às instâncias de banco de dados usando TLS, consulte Segurança com o Amazon Aurora MySQL.

As seguintes correções de CVE estão incluídas nesta versão:

Melhorias de disponibilidade:

  • Correção de um problema que podia fazer com que o banco de dados fosse reiniciado durante a recuperação de transações longas.

  • Correção de um problema com a criptografia de eventos de fluxos de atividades do banco de dados que pode causar reinicializações do banco de dados.

  • Corrigido um problema de gerenciamento de memória devido a erros de falta de memória quando o grupo de buffer do InnoDB é inicializado durante a inicialização ou durante a escalabilidade no Aurora Sem Servidor v2. Esse problema pode ter causado a reinicialização da instância de banco de dados ou a degradação do desempenho, incluindo redução de throughput ou aumento da latência.

  • Correção de um problema que pode fazer com que uma instância do leitor do Aurora MySQL seja reiniciada durante a execução de uma consulta que utiliza um plano de execução de consulta paralela do Aurora MySQL.

  • Correção de um problema que, em determinadas situações, pode fazer com que as instâncias do leitor do Aurora sejam reiniciadas durante uma estimativa de intervalo.

  • Correção de um problema que podia interromper a recuperação do banco de dados durante a inicialização caso a reinicialização ocorra durante a execução de operações intensas de inserção envolvendo colunas de incremento automático.

  • Corrigido um problema com a Auditoria avançada do Aurora que causa o excesso de registro em log de mensagens informativas no log de erros do Aurora MySQL quando a variável do servidor server_audit_events é definida como ALL ou QUERY. Esse problema podia causar a reinicialização da instância do banco de dados.

  • Correção de um problema que podia fazer com que o banco de dados fosse reiniciado durante a reversão de uma declaração INSERT caso a consulta paralela esteja ativada.

  • Correção de um problema que podia fazer com que a instância do banco de dados fosse reiniciada ao executar a ferramenta de criação de perfil EXPLAIN ANALYZE em uma consulta que retornava a saída all select tables were optimized away na coluna de informações EXTRA. Para obter mais informações, consulte a documentação do MySQL em EXPLAIN Output Format.

  • Correção de um problema que podia fazer com que uma instância de leitor da região secundária do banco de dados global do Aurora que usa o encaminhamento de gravação global fosse reiniciada quando uma declaração de confirmação implícita encaminhada encontrava um erro.

  • Correção de um problema que podia fazer com que a instância de gravador em uma região primária do banco de dados global do Aurora fosse reiniciada quando uma consulta SELECT FOR UPDATE é executada usando o encaminhamento global de gravação de uma região secundária do banco de dados global do Aurora.

Melhorias gerais:

  • Adicionado um novo procedimento armazenado, mysql.rds_gtid_purged, para permitir que os clientes definam a variável do sistema GTID_PURGED. Para obter mais informações, consulte mysql.rds_gtid_purged.

  • Adicionados dois novos procedimentos armazenados mysql.rds_start_replication_until e mysql.rds_start_replication_until_gtid, que permitem que os clientes configurem um local para interromper a replicação de log binário. Para obter mais informações sobre como configurar um local de parada para replicação de log binário no Aurora MySQL, consulte mysql.rds_start_replication_until.

  • Corrigido um problema que impede que os procedimentos armazenados do controle de replicação do Aurora MySQL modifiquem a variável sql_log_bin quando chamados de uma sessão com o modo de confirmação automática desabilitado.

  • Adição de suporte à replicação lógica para as seguintes instruções de linguagem de controle de dados (DCL): GRANT/REVOKE e CREATE/DROP/ALTER/RENAME USER.

  • Corrigido um problema para evitar que as estatísticas do InnoDB fiquem obsoletas, o que às vezes pode gerar um plano de execução de consulta abaixo do ideal que pode levar a um aumento no tempo de execução da consulta.

  • Adicionadas duas novas visualizações do sistema information_schema.aurora_global_db_instance_status e information_schema.aurora_global_db_status. Essas visualizações podem ser usadas para exibir o status e a topologia dos recursos primários e secundários em um cluster de banco de dados global do Aurora MySQL. Os detalhes das duas visualizações do sistema podem ser encontrados aqui, Tabelas information_schema específicas do Aurora MySQL.

  • Corrigido um problema em que um usuário não consegue acessar o banco de dados com um caractere curinga no nome do banco de dados após executar a declaração SET ROLE com um caractere curinga de escape.

  • Corrigido um problema em que os eventos relatados durante o processamento das rotações de log de auditoria podiam não ser gravados no log de auditoria.

  • Corrigido um problema em que a criação de uma tabela temporária interna, por meio de uma execução de TRIGGER, pode fazer com que uma instância do banco de dados do gravador seja reiniciada.

  • Adição de uma nova variável do sistema, innodb_aurora_max_partitions_for_range. Em alguns casos, em que estatísticas persistentes não estão disponíveis, esse parâmetro pode ser usado para aprimorar o tempo de execução das estimativas de contagem de linhas em tabelas particionadas. Mais informações podem ser encontradas na documentação, Parâmetros de configuração do Aurora MySQL.

  • Corrigido um problema que permite incorretamente que os clientes definam ROW_FORMAT como COMPRESSED ao criar tabelas particionadas. As tabelas serão convertidas implicitamente para o formato COMPACT com um aviso para informar que o Aurora MySQL não é compatível com tabelas compactadas.

  • Correção de um problema que podia fazer a replicação de log binário de várias threads parar quando a variável replica_parallel_type era definida como LOGICAL_CLOCK e a variável replica_preserve_commit_order era definida como ON. Esse problema podia ocorrer quando uma transação maior que 500 MB era executada na origem.

  • Corrigido um problema quando o recurso de encaminhamento de gravação do banco de dados global está habilitado, o que pode fazer com que as alterações na configuração performance_schema das instâncias do leitor nas regiões secundárias sejam encaminhadas involuntariamente para a instância do gravador na região primária.

  • Corrigido um problema em que a variável de status do servidor innodb_buffer_pool_reads pode não ser atualizada após a leitura de uma página de dados no sistema de arquivos de armazenamento do Aurora.

  • A consulta paralela do Aurora MySQL não é compatível ao escolher a configuração de cluster otimizada para E/S do Aurora. Para obter mais informações, consulte Limitações.

  • Corrigido um problema quando a consulta paralela é habilitada, o que faz com que o otimizador do plano de consulta escolha um plano de execução ineficiente para determinadas consultas SELECT que se beneficiam de um índice primário ou secundário.

  • Atualizadas as definições de fuso horário para a versão 2023c de IANA.

  • Introdução de otimizações de desempenho de gerenciamento de arquivos em réplicas de log binário para ajudar a reduzir a contenção ao gravar em arquivos de log de retransmissão.

  • Corrigido um problema em que a coluna RPO_LAG_IN_MILLISECONDS na tabela information_schema.aurora_global_db_status e a métrica AuroraGlobalDBRPOLag do CloudWatch sempre exibem zero, independentemente da workload do usuário.

  • Apresentação de um novo parâmetro aurora_tmptable_enable_per_table_limit. Quando esse parâmetro é habilitado, a variável tmp_table_size define o tamanho máximo da tabela temporária interna individual na memória criada pelo mecanismo de armazenamento TempTable. Para obter mais informações, consulte Mecanismo de armazenamento para tabelas temporárias internas (implícitas).

  • Corrigido um problema em que uma conexão adicional é criada quando o recurso de encaminhamento de gravação do banco de dados global está habilitado. O problema ocorre quando transações somente leitura em uma instância do leitor encaminham incorretamente uma confirmação implícita para o gravador.

  • Corrigido um problema em que os campos PROCESSLIST_USER e PROCESSLIST_HOST na tabela performance_schema.threads não eram preenchidos no gravador na região primária para conexões usando o recurso de encaminhamento de gravação do banco de dados global. Mais informações sobre essa tabela e o Performance Schema podem ser encontradas no Manual de referência do MySQL, The threads Table, e na seção Visão Geral do Performance Schema do Guia do usuário do Amazon Aurora.

  • Corrigido um problema em que a métrica CommitLatency do Cloudwatch exibe valores incorretos para instâncias do leitor em regiões secundárias quando o recurso de encaminhamento de gravação do banco de dados global é usado. Para monitorar a latência da declaração DML encaminhada em clusters de banco de dados secundários, é recomendável usar as métricas ForwardingReplicaDMLLatency e ForwardingWriterDMLLatency. A latência de confirmação também pode ser observada usando a métrica CommitLatency na instância do gravador da região primária. Mais informações estão disponíveis no Guia do usuário do Aurora, em Métricas do Amazon CloudWatch e variáveis de status do Aurora MySQL para encaminhamento de gravação.

  • Corrigido um problema em que os procedimentos armazenados do controle de replicação do Aurora MySQL usados para gerenciar e configurar a replicação de registros binários relatam erros incorretamente quando a replicação de logs binários de vários segmentos é configurada definindo o valor da variável replica_parallel_workers maior que 0.

  • Correção de um problema que podia causar alto consumo de CPU quando várias sessões estavam tentando acessar uma página que não existe na memória.

Upgrades e migrações:

  • Para executar um upgrade de uma versão secundária para um banco de dados global do Aurora MySQL versão 3.01, 3.02 ou 3.03 para o Aurora MySQL versão 3.04 ou posterior, consulte Atualizar o Aurora MySQL modificando a versão do mecanismo.

  • Corrigido um problema que pode causar falhas na verificação prévia do upgrade devido aos erros de inconsistência de esquema relatados para as tabelas mysql.general_log_backup, mysql.general_log, mysql.slow_log_backup e mysql.slow_log durante o upgrade do Aurora MySQL 2 para o Aurora MySQL 3. Para obter informações sobre a solução de problemas de upgrade, consulte Solução de problemas de atualização com o Aurora MySQL versão 3.

  • Corrigido um problema que pode causar grandes falhas no upgrade da versão durante o upgrade para o Aurora MySQL 3 quando uma definição de gatilho contém uma palavra-chave reservada que não está entre aspas.

Integração de correções de bug do MySQL Community Edition

Essa versão inclui todas as correções de bugs da comunidade até 8.0.28, incluindo as indicadas abaixo. Para obter mais informações, consulte MySQL bugs fixed by Aurora MySQL 3.x database engine updates.

  • Corrigido um problema em que um bloco de buffer que contém uma página de tabela temporária intrínseca era realocado durante a passagem da página, causando uma falha de declaração (Bug nº 33715694)

  • InnoDB: impede que operações de DDL online acessem memória fora dos limites (Bug nº 34750489, Bug nº 108925)

  • Corrigido um problema que às vezes pode produzir resultados de consulta incorretos ao processar instruções SQL complexas que consistem em várias expressões de tabela comuns (CTEs) aninhadas (Bug nº 34572040, Bug nº 34634469, Bug nº 33856374)