Atualizações do mecanismo de banco de dados Aurora MySQL em 2024-11-18 (versão 3.08.0, compatível com MySQL 8.0.39) - Amazon Aurora

Atualizações do mecanismo de banco de dados Aurora MySQL em 2024-11-18 (versão 3.08.0, compatível com MySQL 8.0.39)

Versão: 3.08.0

O Aurora MySQL 3.08.0 está disponível para o público. As versões do Aurora MySQL 3.08 são compatíveis com o MySQL 8.0.39. Para obter mais informações sobre as mudanças que ocorreram na comunidade, consulte as Notas de lançamento do MySQL 8.0.

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 no Guia do usuário do Amazon Aurora.

As versões atualmente compatíveis do Aurora MySQL são 2.11.*, 2.12.*, 3.04.*, 3.05.*, 3.06.*, 3.07.* e 3.08.*.

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.08.0.

Consulte informações sobre como planejar um upgrade para o Aurora MySQL versão 3 em Planejar um upgrade da versão principal de um cluster do Aurora MySQL. 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.

Consulte informações sobre solução de problemas em Solução de problemas para atualização no local de Aurora MySQL no Guia do usuário do Amazon Aurora.

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.

Novos atributos

  • Adição de três novas métricas do Amazon CloudWatch para permitir que os usuários monitorem o processo de limpeza do InnoDB:

    • PurgeBoundary

    • PurgeFinishedPoint

    • TruncateFinishedPoint

    Consulte mais informações em Métricas do Amazon CloudWatch para o Amazon Aurora no Guia do usuário do Amazon Aurora.

  • Adição de uma nova métrica TransactionAgeMaximum do CloudWatch para permitir que os usuários identifiquem transações de longa duração que possam estar atrasando o limite de limpeza. Consulte mais informações em Métricas do Amazon CloudWatch para o Amazon Aurora no Guia do usuário do Amazon Aurora.

  • Adição de três novas métricas do CloudWatch para evitar a falta de memória (OOM):

    • AuroraMillisecondsSpentInOomRecovery

    • AuroraNumOomRecoverySuccessful

    • AuroraNumOomRecoveryTriggered

    Consulte mais informações em Métricas do Amazon CloudWatch para o Amazon Aurora no Guia do usuário do Amazon Aurora.

  • Alteração de três métricas do CloudWatch para evitar a falta de memória (OOM), passando de valores totais acumulados para contadores incrementais:

    • AuroraMemoryNumDeclinedSqlTotal

    • AuroraMemoryNumKillConnTotal

    • AuroraMemoryNumKillQueryTotal

    Consulte mais informações em Métricas do Amazon CloudWatch para o Amazon Aurora no Guia do usuário do Amazon Aurora.

  • Adição de duas variáveis de status globais para mostrar a quantidade de memória usada pelas tabelas temporárias internas: aurora_temptable_ram_allocation e aurora_temptable_max_ram_allocation. Essas variáveis de status globais aumentam a observabilidade e ajudam a diagnosticar problemas relacionados ao uso interno da memória temporária da tabela.

    Consulte mais informações em Variáveis de status globais do Aurora MySQL no Guia do usuário do Amazon Aurora.

  • Introdução da nova variável de sistema aurora_optimizer_trace_print_before_purge para imprimir rastreamentos do otimizador no log de erros antes que o servidor limpe os rastreamentos da memória. É possível acionar uma limpeza com base nos limites definidos pelas variáveis do sistema optimizer_trace_offset e optimizer_trace_limit.

  • Adição de suporte para as seguintes classes de instância de banco de dados:

    • db.r7i

    • db.r8g

    Para obter mais informações, consulte Mecanismos de banco de dados compatíveis para classes de instância de banco de dados no Guia do usuário do Amazon Aurora.

Melhorias

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

Essa versão inclui todas as correções de CVE da comunidade, incluindo o MySQL 8.0.39. As seguintes correções de CVE estão incluídas:

Melhorias de disponibilidade:

  • Correção de que podia fazer o servidor reiniciar inesperadamente após executar comandos de linguagem de manipulação de dados (DML) em uma tabela que já tinha colunas removidas instantaneamente, quando a contagem de colunas removidas e não removidas ultrapassava 1.017.

  • Correção de um problema que podia fazer com que os arquivos de log do banco de dados não fossem rotacionados corretamente, resultando em maior uso de espaço de armazenamento local em uma instância de banco de dados.

  • Correção de um problema que podia fazer com que a instância de banco de dados deixasse de encerrar conexões em condições de pouca memória quando aurora_oom_response estava ativado, levando a uma reinicialização por falta de memória que poderia ser evitada.

  • Correção um problema que podia fazer com que uma instância de banco de dados de leitor fosse reiniciada ao liberar memória usada para a aplicação de log.

  • Correção de um problema no cálculo de métricas internas para índices de pesquisa de texto completo (FTS) que podia causar a reinicialização do banco de dados.

  • Correção de um problema da comunidade que, às vezes, podia gerar resultados incorretos de consultas quando uma cláusula LIMIT era usada em subconsultas junto com a redução de condição de índice.

  • Correção de um problema que causava uma violação de acesso à memória que levava à liberação de um objeto mutex que não pertencia mais à thread.

  • Correção de um problema que podia causar a reinicialização de uma réplica de log binário (binlog) ao processar um grande número de arquivos de log de retransmissão durante a recuperação do log de retransmissão.

  • Correção de um problema que fazia com que uma instância de banco de dados de leitor do Aurora fosse reiniciada quando o encaminhamento de gravação estava habilitado.

  • Correção de um problema em que uma consulta contendo várias cláusulas UNION podia alocar uma grande quantidade de memória, levando à reinicialização da instância de banco de dados.

  • Correção de um problema que fazia com que a instância de banco de dados do gravador fosse reiniciada ao executar uma consulta paralela em uma instância de banco de dados de leitor.

  • Correção de um problema em que a replicação do log binário travava na réplica devido a um deadlock encontrado no encadeamento de E/S da réplica quando o comando FLUSH RELAY LOGS era executado.

  • Correção de um problema que causava a reinicialização de uma instância de banco de dados ao lidar com grandes conjuntos de GTID em um cluster de banco de dados com o log binário aprimorado habilitado.

  • Correção de um problema que podia causar a reinicialização de uma réplica de log binário quando o cache de log de retransmissão na memória estava habilitado. O cache de log de retransmissão na memória é ativado nas réplicas de log binário gerenciadas pelo Aurora MySQL ao usar a replicação de log binário de thread única ou a replicação multithread com o posicionamento automático GTID habilitado.

  • Correção de um problema que podia fazer com que uma instância de réplica de log binário fosse reiniciada ao aplicar instruções de linguagem de controle de dados (DCL) durante a inicialização do mecanismo de banco de dados.

  • Correção de um problema que, em raras ocasiões, podia fazer com que uma instância de banco de dados de leitor fosse reiniciada devido a um deadlatch ao executar consultas SELECT em tabelas que estavam sendo atualizadas por sua instância de banco de dados de gravador.

  • Correção de um problema que fazia com que uma instância de leitor do Aurora Global Database fosse reiniciada com uma sessão ativa de encaminhamento de gravação.

  • Correção de um problema que podia fazer com que as réplicas de leitura do Aurora fossem reiniciadas no caso de determinados pedidos raros de confirmação de transações na instância de banco de dados de gravador.

  • Correção de um problema que podia fazer com que um banco de dados fosse reiniciado quando eventos programados eram cancelados durante a execução em instâncias de banco de dados com o log binário aprimorado habilitado.

Melhorias gerais:

  • Correção de um problema em que a conexão de um cliente podia ficar travada durante a aplicação de patches com tempo de inatividade zero (ZDP) ou a reinicialização com tempo de inatividade zero (ZDR).

  • Correção de um problema que, em casos raros, fazia com que a instância de banco de dados fosse reiniciada devido a um problema de gerenciamento de memória que podia ocorrer ao lidar com uma falha de abertura de tabela.

  • Correção de um problema que fazia com que as declarações SQL apresentassem erros ou avisos inesperados de violação de chave primária em algumas linhas ao executar declarações INSERT simultâneas em uma tabela que tem uma coluna de chave primária AUTO_INCREMENT e uma coluna de chave exclusiva, e quando uma declaração INSERT tem violações de chave exclusivas em linhas diferentes.

  • O instrumento memory/sql/sp_head::main_mem_root do Performance Schema agora é controlado. Consequentemente, a memória alocada para análise e representação de programas armazenados agora passa a contar com relação aos limites de memória por conexão.

  • Correção de um problema em que uma linha ficava ilegível por meio do índice espacial durante uma atualização.

  • Correção de um problema que impedia que os usuários desativassem o encaminhamento de gravação local.

  • Correção de um problema em que uma consulta SELECT COUNT podia retornar o resultado errado ao usar o encaminhamento de gravação.

  • Correção de um problema que podia gerar resultados de consulta incorretos quando a ZDP restaurava incorretamente as variáveis de sessão definidas como dicas nas consultas.

  • Correção de um problema com o truncamento automático de espaços de tabela undo quando eles eram maiores do que o limite innodb_max_undo_log_size em cenários de atualização.

  • Correção de um problema no qual a latência e o throughput de confirmação não eram medidos quando innodb_flush_log_at_trx_commit era definido como 0.

  • Correção de um problema que fazia com que o atraso na réplica do Aurora fosse relatado incorretamente.

  • Correção de um problema que fornecia um valor incorreto para a variável threads_running ao usar o Aurora Global Database.

  • Correção de um problema em que uma réplica do log binário do Aurora MySQL com a otimização do índice secundário paralelo ativada era reiniciada ao aplicar alterações de replicação em tabelas com chaves estrangeiras.

  • Correção de um problema de reinicialização causado pelo redimensionamento prolongado da tabela de hash de bloqueio durante eventos de aumento ou redução da escala verticalmente.

  • Correção de um problema que podia causar a reinicialização de uma instância de banco de dados após a desativação do log binário, quando o log binário aprimorado estava habilitado anteriormente.

  • Introdução de otimizações para reduzir o uso de memória durante a recuperação do dicionário de dados lógico quando há um grande número de tabelas.

  • Correção de um problema em que um usuário poderia enfrentar um erro ERROR 1377 (HY000): Fatal error during log purge ao executar o procedimento armazenado mysql.rds_set_external_source em uma réplica de log binário, quando a replicação de log binário já estava configurada.

  • Correção de uma falha que impedia a persistência dos privilégios de perfil do usuário após a ZDR.

  • Correção de um problema de memória associado aos perfis padrão do definidor de visualização.

  • Correção de um problema que podia fazer com que uma instância de banco de dados fosse reiniciada quando SHOW VOLUME STATUS era executado.

  • Correção de um problema de reinicialização causado pelo redimensionamento prolongado do buffer pool durante eventos de aumento ou redução da escala verticalmente.

  • Correção de um problema de reinicialização causado pelo acesso da leitura lógica antecipada (LRA) às páginas liberadas devido ao redimensionamento do buffer durante um evento de redução da escala verticalmente.

  • Correção de um problema que fazia consultas SELECT retornarem resultados incorretos quando a consulta utilizava LEFT OUTER JOIN com a transformação de semijunção que empregava materialização como estratégia.

  • Correção de um problema que podia causar falha na conclusão do processo de desativação do encaminhamento de gravação.

  • Correção de um problema em que as métricas ActiveTransactions e BlockedTransactions do CloudWatch relatavam valores mais baixos do que o esperado.

  • Correção de um problema em que a replicação do log binário era interrompida quando a réplica processava uma declaração DELETE de várias tabelas que excluía explicitamente tanto uma tabela principal como uma tabela secundária.

  • Correção de um problema que podia levar à reinicialização de uma instância de banco de dados ao processar um gatilho com funções definidas pelo usuário que retornam um tipo enum.

  • Corrigido um problema em que a métrica DMLLatency do CloudWatch mostrava valores incorretos para uma instância de réplica de log binário ao replicar usando binlog_format definido como row.

  • Correção de um problema em que consultas lentas INSERT, DELETE e UPDATE executadas pelo Agendador de eventos do MySQL não eram registradas no log de consultas lentas, a menos que fossem precedidas por uma consulta lenta SELECT.

  • Correção de um problema que, em casos raros, causava indisponibilidade intermitente de uma réplica de leitura do Aurora ou inconsistências na definição da tabela, às vezes com o erro Table does not exist, na réplica. Isso ocorria devido às consultas de leitura simultâneas na réplica e às operações da linguagem de definição de dados (DDL) na instância de banco de dados de gravador.

  • Correção de um problema que fazia o comando SHOW BINARY LOGS levar mais tempo para ser executado em um cluster de banco de dados em que o log binário aprimorado estava habilitado ou já havia estado habilitado. Esse problema também poderia causar maior latência de confirmação se vários comandos SHOW BINARY LOGS estivessem sendo executados simultaneamente.

Upgrades e migrações:

  • Melhoria no desempenho de atualização de versões principais do Aurora MySQL versão 2 para a versão 3 para clusters de banco de dados com um grande número de objetos de banco de dados (como tabelas, gatilhos e rotinas).

    Para classes maiores de instâncias de banco de dados, o processo de atualização do banco de dados atualiza os metadados de objetos tradicionais do MySQL para o novo dicionário de dados atômico do MySQL 8.0 em paralelo usando várias threads.

  • Correção de um problema que fazia com que os upgrades ou as migrações falhassem quando a versão de destino do mecanismo de banco de dados Aurora MySQL era 3.04.0 ou posterior. Isso ocorria quando o parâmetro do cluster de banco de dados lower_case_table_names era definido como 1, e a ordenação do banco de dados MySQL era incompatível com nomes de tabelas em letras minúsculas.

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.39, incluindo as indicadas a seguir. Para obter mais informações, consulte MySQL bugs fixed by Aurora MySQL 3.x database engine updates.

  • Correção de um problema que fazia com que valores NULL fossem omitidos incorretamente do conjunto de resultados para determinadas consultas que têm operações JOIN e UNION. (Correção de bug nº 114301 da comunidade)