Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Upgrade the database version

Última atualização: Aug 26, 2026

O ApsaraDB RDS for MySQL oferece dois métodos para atualizar a versão principal do banco de dados. Você pode atualizar a versão diretamente no console ou adquirir uma nova instância do ApsaraDB RDS for MySQL com uma versão mais recente e usar uma tarefa de migração de dados do Data Transmission Service (DTS) para transferir os dados da instância original para a nova. Esse processo atualiza a versão do banco de dados indiretamente.

Nota

O ApsaraDB RDS for MySQL não suporta downgrade direto da versão do banco de dados pelo console. Você pode adquirir uma instância RDS com uma versão anterior e usar o DTS para migrar dados da instância com a versão mais recente para a instância com a versão anterior. Após confirmar que a migração foi bem-sucedida, você pode liberar a instância com a versão mais recente.

Selecione um método de atualização

Tanto o Método 1: Atualizar diretamente a versão do banco de dados no console quanto o Método 2: Atualizar a versão do banco de dados usando o DTS suportam os seguintes caminhos de atualização do MySQL: 5,5 para 5,6, 5,6 para 5,7, 5,7 para 8,0 e 8,0 para 8,4. Antes de iniciar a atualização do banco de dados, escolha o método mais adequado com base nas informações abaixo:

  • Se sua instância pertencer a uma das quatro categorias a seguir e sua configuração atender aos requisitos correspondentes, use o Método 1: Atualizar diretamente a versão do banco de dados no console.

    Nota

    Instâncias Serverless não suportam atualizações diretas pelo console. Use o Método 2: Atualizar a versão do banco de dados usando o DTS.

    Cluster Edition (ESSD and premium performance disk)

    • Restrição de replicação de grupo: Não é possível atualizar instâncias da Cluster Edition que usam MySQL Group Replication (MGR).

    • Restrição de proxy de banco de dados (se aplicável): Para atualizações da versão 5,7 para 8,0, a versão secundária do proxy de banco de dados deve ser 1.13.41 ou superior. Para atualizações da versão 8,0 para 8,4, a versão secundária do proxy deve ser 2.25.11 ou superior.

    • Restrição de status da instância: O status da instância deve ser Running, e os nós primário e secundário devem estar íntegros, sem atraso de replicação.

    • Restrição de mecanismo: O banco de dados e todas as suas tabelas devem usar o mecanismo de armazenamento InnoDB.

    • A instância não deve usar um tipo de instância descontinuado.

    High-availability Edition (ESSD and premium performance disk)

    • Restrição de proxy de banco de dados (se aplicável): Para atualizações da versão 5,7 para 8,0, a versão secundária do proxy de banco de dados deve ser 1.13.41 ou superior. Para atualizações da versão 8,0 para 8,4, a versão secundária do proxy deve ser 2.25.11 ou superior.

    • Restrição de status da instância: O status da instância deve ser Running, e os nós primário e secundário devem estar íntegros, sem atraso de replicação.

    • Restrição de mecanismo: O banco de dados e todas as suas tabelas devem usar o mecanismo de armazenamento InnoDB.

    • A instância não deve usar um tipo de instância descontinuado.

    High-availability Edition (premium performance local disk)

    • Restrição de criptografia: O recurso de criptografia transparente de dados (TDE) deve estar desativado. Após ativar o TDE, não é possível desativá-lo. Se o TDE estiver ativado em sua instância, use o Método 2: Atualizar a versão do banco de dados usando o DTS.

    • Restrição de proxy de banco de dados (se aplicável): Para atualizações da versão 5,7 para 8,0, a versão secundária do proxy de banco de dados deve ser 1.13.41 ou superior. Para atualizações da versão 8,0 para 8,4, a versão secundária do proxy deve ser 2.25.11 ou superior.

    • Restrição de status da instância: O status da instância deve ser Running, e os nós primário e secundário devem estar íntegros, sem atraso de replicação.

    • Restrição de quantidade de tabelas: O número de tabelas não pode exceder 1 milhão.

    • Restrição de mecanismo: O banco de dados e todas as suas tabelas devem usar o mecanismo de armazenamento InnoDB.

    • Restrição de tipo de instância: A versão do banco de dados após a atualização deve suportar os tipos de instância originais das instâncias primárias e somente leitura. As instâncias não devem usar um tipo descontinuado. Para mais informações, consulte Tipos de instância primária do ApsaraDB RDS for MySQL.

    Basic Edition (ESSD and premium performance disk)

    • Restrição de status da instância: O status da instância deve ser Running.

    • Restrição de mecanismo: O banco de dados e todas as suas tabelas devem usar o mecanismo de armazenamento InnoDB.

    • A instância não deve usar um tipo de instância descontinuado.

  • Caso sua instância não pertença a nenhuma das quatro categorias anteriores ou se o TDE estiver ativado, use o Método 2: Atualizar a versão do banco de dados usando o DTS.

  • Se sua instância pertencer a uma das quatro categorias anteriores, mas a configuração não atender aos requisitos, modifique a configuração conforme descrito na tabela a seguir. Em seguida, use o Método 1: Atualizar diretamente a versão do banco de dados no console ou o Método 2: Atualizar a versão do banco de dados usando o DTS.

    Problema

    Solução

    O status da instância não é Running; por exemplo, está como Restarting.

    Aguarde a conclusão da tarefa atual antes de atualizar a versão do banco de dados.

    O número de tabelas em uma instância da High-availability Edition com disco local de alto desempenho excede 1 milhão.

    Exclua as tabelas redundantes antes da atualização.

    Alguns bancos de dados ou tabelas não usam o mecanismo InnoDB.

    Execute o comando ALTER TABLE <table_name> engine=InnoDB; para alternar para o mecanismo InnoDB.

    A instância usa um tipo de instância descontinuado.

    Atualize o tipo da instância antes de atualizar a versão do banco de dados. Para mais informações, consulte Alterar configuração.

    A versão secundária do proxy de banco de dados não atende aos requisitos.

    Atualize a versão secundária do proxy de banco de dados para 1.13.41 ou superior. Para mais informações, consulte Atualizar a versão secundária do mecanismo de um proxy de banco de dados.

    O tipo de armazenamento da instância é SSD padrão.

    Primeiro, atualize o SSD padrão para um ESSD empresarial e depois atualize a versão do banco de dados.

Para atualizar a versão principal do banco de dados de outros mecanismos, consulte os seguintes tópicos:

Método 1: Atualizar diretamente a versão do banco de dados no console

Preparativos

  1. Compreenda as diferenças e os benefícios da nova versão

  2. Entenda o processo de atualização e seus impactos

    • Restrição de intervalo de versões: Não é possível pular versões principais. Por padrão, a instância é atualizada para a versão secundária mais recente da versão principal de destino. Por exemplo, não é possível atualizar uma instância diretamente do MySQL 5,6 para o MySQL 8,0. É necessário atualizá-la primeiro para o MySQL 5,7 e, em seguida, para o MySQL 8,0.

    • Restrição de downgrade: Não é possível fazer downgrade direto da versão pelo console. Adquira uma instância RDS com uma versão anterior e use o DTS para migrar dados da instância com a versão mais recente para a instância com a versão anterior. Após confirmar que a migração foi bem-sucedida, você pode liberar a instância com a versão mais recente.

    • Processo de atualização para instâncias com disco local de alto desempenho: O sistema atualiza primeiro a instância secundária. Após a conclusão, ocorre um failover primário/secundário. Em seguida, o sistema atualiza a instância primária. A atualização causa uma interrupção de service de 15 segundos. Recomendamos realizar a atualização fora dos horários de pico.

    • Processo de atualização para instâncias com ESSD: O sistema cria um novo nó e executa a atualização nesse nó. Após a atualização do novo nó, o sistema transfere as conexões para ele. A atualização causa uma interrupção de service de 15 segundos. Recomendamos realizar a atualização fora dos horários de pico.

  3. Verifique as configurações da instância e do banco de dados

    • Verifique palavras-chave reservadas: Revise as funções definidas pelo usuário para garantir que elas não usem nenhuma palavra-chave reservada.

    • Verifique backups completos: Confirme se um backup completo de dados foi criado com sucesso na última semana. Caso contrário, realize um backup completo dos dados.

    • Verifique o mecanismo de reconexão automática: Durante a atualização do banco de dados, o RDS executa uma troca de instância. Recomendamos realizar a atualização fora dos horários de pico ou garantir que sua aplicação possua um mecanismo de reconexão automática. Para mais informações sobre o impacto de uma troca de instância, consulte Impacto de uma troca de instância.

    • Verifique o espaço de armazenamento disponível: Garanta que haja espaço livre suficiente em disco antes da atualização. Recomendamos reservar pelo menos 10 GB.

    • Ajuste a política de limpeza de logs: Aumente o período de retenção e a porcentagem máxima de uso de armazenamento para logs locais. Para mais informações, consulte Modificar a política de log local.

    • Faça backup dos parâmetros da instância: Para garantir a estabilidade e o desempenho da nova versão do MySQL, o RDS descontinua alguns parâmetros da versão antiga. Você não poderá mais visualizar ou modificar esses parâmetros após a atualização. Antes de realizar uma atualização de versão principal, faça backup dos registros de modificação dos parâmetros relevantes para operações futuras e auditorias.

    • Para atualizações de 5,6 para 5,7, de 5,7 para 8,0 ou de 8,0 para 8,4, é obrigatório realizar as seguintes verificações adicionais:

      Upgrade from 5.6 to 5.7

      Verifique índices de texto completo e informações de versão: Em bancos de dados de instâncias RDS for MySQL 5,6 com versão secundária anterior a 20221130, os índices de texto completo são criados no tablespace do sistema. A atualização para a versão 5,7 pode corromper o tablespace. Se sua instância executar uma versão secundária anterior, atualize-a primeiro para a versão secundária mais recente do RDS for MySQL 5,6 e, em seguida, atualize a versão principal do banco de dados. Para mais informações, consulte o FAQ.

      Upgrade from 5.7 to 8.0

      • Verifique a compatibilidade de recursos: Se os procedimentos armazenados, gatilhos, visualizações ou funções em seu banco de dados usarem recursos não suportados pelo MySQL 8.0, modifique-os antes da atualização. Caso contrário, a atualização falhará.

      • Verifique dependências de tabelas do sistema: Confirme se seus services dependem de tabelas de sistema do MySQL 5,7 (tabelas nos bancos de dados sys, mysql, information_schema e performance_schema). Algumas tabelas de sistema do MySQL 5,7 são alteradas durante a atualização para 8,0. Por exemplo, tabelas podem ser removidas, renomeadas ou ter seus esquemas alterados. Se seus services dependerem dessas tabelas, poderão ocorrer erros.

      • Verifique a compatibilidade de tipos de dados: O RDS for MySQL 8,0 não suporta mais alguns tipos de dados de versões anteriores. Se uma tabela contiver campos com tipos de dados não suportados no MySQL 8,0, resolva esse problema executando REPAIR TABLE ou realizando uma exportação e importação lógica antes da atualização. Para mais informações, consulte Preparing Your Installation for Upgrade.

      • Verifique valores de comment : Versões secundárias do MySQL 8,0 a partir de 20221231 introduzem o parâmetro loose_upgrade_clear_invalid_comment. Quando este parâmetro está definido como ON (valor padrão), caracteres ilegíveis nos comentários de tabelas, campos e índices são limpos automaticamente durante a atualização para evitar falhas. Portanto, antes da atualização, verifique se os valores de comment nas tabelas do seu banco de dados contêm caracteres ilegíveis. Se contiverem, o valor de comment será limpo.

      • Verifique procedimentos armazenados: Se os procedimentos armazenados ou funções em seu banco de dados contiverem caracteres ilegíveis, corrija-os antes da atualização para evitar falhas.

      • Verifique tipos de dados de tempo do MySQL 5,5 e anteriores: Se seu banco de dados contiver tabelas com tipos de dados de tempo do MySQL 5,5 ou anteriores, recrie as tabelas antes de atualizar para o MySQL 8,0 para evitar falhas.

        • Execute as seguintes instruções SQL para verificar se sua instância de banco de dados contém tabelas com tipos de dados de tempo do MySQL 5,5 ou anteriores:

          # Show old time data types.
          SET SESSION show_old_temporals= ON;
          
          # Query for tables that contain old time data types.
          SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE FROM information_schema.columns WHERE COLUMN_TYPE IN ("time /* 5.5 binary format */ ", "timestamp /* 5.5 binary format */", "datetime /* 5.5 binary format */ ");
        • Se uma tabela contiver tipos de dados de tempo do MySQL 5,5 ou anteriores, execute o seguinte comando para recriar o esquema da tabela:

          # Rebuild the table.
          ALTER TABLE <table_name> FORCE;

      Upgrade from 8.0 to 8.4

      • Verifique a compatibilidade de recursos: O MySQL 8,4 não suporta mais certos recursos legados, como Group Replication (MGR). Se o MGR estiver ativado na instância, pare a Replicação de Grupo e limpe a configuração relacionada antes da atualização. Caso contrário, a atualização não poderá prosseguir.

      • Verifique a compatibilidade de tabelas, índices e metadados: Confirme se a instância contém mecanismos de armazenamento, índices de texto completo, tablespaces descartados, chaves estrangeiras em tabelas particionadas, nomes de colunas de visualização ou restrições de chave estrangeira excessivamente longos, ou índices SPATIAL ou RTREE incompatíveis com o MySQL 8,4. Se algum problema for encontrado, modifique o esquema da tabela ou exclua os índices relacionados antes da atualização e recrie-os conforme necessário após a atualização. Além disso, tabelas que usam um campo FLOAT ou DOUBLE como coluna AUTO_INCREMENT também devem ser modificadas antecipadamente.

      • Verifique a topologia da instância e as condições de atualização: Valide se o status de integridade dos nós primário e secundário, o atraso de replicação, a quantidade e os tipos de instâncias somente leitura e standby somente leitura, o tipo de conexão da instância, tarefas inacabadas, o tipo de instância da versão de destino e a versão do MaxScale atendem aos requisitos de atualização. Os itens de verificação variam conforme o tipo de instância: instâncias com disco local possuem verificações adicionais de topologia de instâncias somente leitura, enquanto instâncias com disco em cloud possuem verificações de tipo de armazenamento e ambiente de cloud.

      • Verifique a compatibilidade de parâmetros, autenticação e conexões: O MySQL 8,4 remove alguns parâmetros e configurações de autenticação da versão 8,0, e o processo de atualização filtra ou converte automaticamente os parâmetros incompatíveis. O MySQL 8,4 não suporta mais TLSv1 ou TLSv1.1. O sistema ajusta automaticamente o tls_version no lado do servidor, mas clientes que usam protocolos TLS antigos ainda falharão ao conectar após a atualização. Confirme antecipadamente que seus clientes suportam TLSv1.2 ou TLSv1.3. Alguns comportamentos padrão de autenticação, permissões e parâmetros também mudam. Antes da atualização, garanta que o login da conta, as permissões e o desempenho do service não sejam afetados.

  4. Testes e simulação pré-atualização

    • Teste de sintaxe: Antes da atualização, crie uma nova instância RDS com a versão mais recente para testar a compatibilidade de sintaxe. Isso ajuda a evitar problemas em que a sintaxe ou recursos da versão anterior não são suportados após a atualização.

    • Simulação de atualização: Antes da atualização, clone a instância original e use a instância clonada para testar a atualização. Após confirmar que todos os recursos funcionam conforme o esperado, atualize a instância original.

  5. Observações pós-atualização

    • Restaurar uma instância para a versão antiga: Use um backup de disco em cloud da versão antiga para restaurar uma instância para essa versão. Isso não é suportado para instâncias com discos locais de alto desempenho.

    • Restaurar uma instância para a nova versão: Não é possível usar conjuntos de backup da versão antiga para restaurar uma instância para a nova versão. Para realizar uma restauração, use um conjunto de backup criado após a atualização da instância.

Procedimento

Selecione um método de atualização com base no cenário de atualização:

Método de atualização

Cenário de atualização

Realizar uma pré-verificação e depois atualizar

  • High-availability Edition (disco local de alto desempenho): Atualização de 5,6 para 5,7 ou de 5,7 para 8,0.

  • High-availability Edition (ESSD ou disco de alto desempenho) e Cluster Edition (ESSD ou disco de alto desempenho): Atualização de 5,7 para 8,0.

  • Todas as edições: Atualização de 8,0 para 8,4.

Atualização direta

  • High-availability Edition com discos locais de alto desempenho: Atualização de 5,5 para 5,6.

  • Basic Edition (ESSD ou disco de alto desempenho): Atualização de 5,7 para 8,0.

Perform a pre-check and then upgrade

  1. Acesse a página Instances. Na barra de navegação superior, selecione a região onde sua instância está localizada. Em seguida, clique em no ID da instância.

  2. No painel de navegação à esquerda, clique em em Major Version Upgrade para acessar a página Upgrade Check.

  3. Na lista suspensa Select upgrade version, selecione a versão de destino e clique em em Create upgrade check report. Para mais informações sobre o relatório, consulte Descrição do relatório de verificação de atualização de versão principal.

  4. Após a conclusão da verificação e confirmação de que não há riscos, mude para a aba Upgrade Instance.

  5. Na lista suspensa Select upgrade version, selecione a versão de destino e clique em em Upgrade Instance.

  6. Na caixa de diálogo Major Engine Version Upgrade, confirme a versão de destino, selecione um Switching Time e clique em em Upgrade.

Direct upgrade

  1. Acesse a página Instances. Na barra de navegação superior, selecione a região onde sua instância está localizada. Em seguida, clique em no ID da instância.

  2. Na seção Basic Information > Configuration Information, clique em em Upgrade Major Engine Version.

    Nota

    Se esta opção não estiver disponível, verifique se sua instância atende aos requisitos de atualização.

  3. Na caixa de diálogo exibida, selecione Switch Now ou Switch Within Maintenance Window e clique em em OK.

    • Switch Now: Inicia a atualização imediatamente.

    • Switch Within Maintenance Window: A atualização é executada dentro da janela de manutenção especificada. Você também pode clicar em em Settings ao lado de Maintenance Window para alterar rapidamente a janela de manutenção.

    Nota

    Durante a atualização, o status da instância é Upgrading Version.

Método 2: Atualizar a versão do banco de dados usando o DTS

Para instâncias que não suportam atualização direta pelo console, crie uma nova instância com uma versão de banco de dados mais recente. Em seguida, use uma tarefa de migração de dados do DTS para migrar os dados da instância original para a nova. Isso atualiza a versão do banco de dados indiretamente. Este processo envolve as seguintes etapas:

  1. Criar uma nova instância

  2. Migrar dados para a nova instância

  3. Liberar a instância original

Exemplo: Você possui uma instância MySQL 5,7 com TDE ativado, que não pode ser atualizada diretamente pelo console. Nesse caso, crie uma nova instância executando o MySQL 8,0, migre os dados da instância original para a nova e, finalmente, libere a instância original. Isso atualiza a versão do banco de dados indiretamente.

Importante

Após uma migração de dados entre versões, teste a compatibilidade e monitore a instância por um período. Depois de confirmar que tudo está normal, libere a instância original.

Apêndice 1: Benefícios da atualização do MySQL 8,0 para o MySQL 8,4

  • Maior estabilidade de longo prazo. O MySQL 8,4 é uma versão LTS adequada para uso prolongado em ambientes de produção. As versões subsequentes 8.4.x focam em estabilidade, correções de segurança e manutenção de compatibilidade.

  • Autenticação aprimorada. Suporta autenticação WebAuthn/FIDO2. A Enterprise Edition pode usar chaves de segurança, biometria e outros métodos de autenticação. No Windows, há suporte para autenticação SASL LDAP/GSSAPI/Kerberos.

  • Capacidades GTID aprimoradas. Suporta GTIDs marcados. Use o formato UUID:TAG:NUMBER para distinguir diferentes domínios de negócios, operações administrativas ou operações de dados, e o privilégio TRANSACTION_GTID_TAG fornece controle de acesso.

  • Disponibilidade de replicação melhorada. O aplicador multithread suporta SQL_AFTER_GTIDS, permitindo que a replicação paralela continue quando uma réplica alcança um conjunto GTID especificado.

  • Recuperação de relay log aprimorada. Suporta a limpeza de transações incompletas no final do relay log e arquivos residuais relacionados, reduzindo o risco de recuperação causado por inconsistência do relay log após um desligamento anormal.

  • Operações de Replicação de Grupo aprimoradas. Dentro da série LTS 8,4, há suporte para membros de grupo entre versões e downgrades in-place. A espera por operações DDL e DCL durante uma troca de primário é mais completa, e a pré-limpeza de informações de autenticação é suportada no modo single-primary para reduzir riscos de memória e de troca.

  • Estatísticas melhoradas. Histogramas suportam controle de atualização automática ou manual, o que ajuda a melhorar a controlabilidade da manutenção de estatísticas do otimizador.

  • Diagnóstico de plano de execução aprimorado. EXPLAIN FORMAT=JSON suporta seleção de versão de formato, EXPLAIN FORMAT=JSON INTO grava a saída em uma variável de usuário, e EXPLAIN FOR SCHEMA e FOR DATABASE são suportados, facilitando o diagnóstico de SQL entre schemas.

  • Validação de certificado TLS aprimorada. Suporta validação de certificado TLS mais rigorosa para melhorar a segurança de conexões criptografadas.

  • Clone melhorado. Dentro da mesma série principal ou secundária, a operação de clone não exige mais uma correspondência exata de versão pontual, facilitando a inicialização, recuperação e dimensionamento de instâncias entre versões 8.4.x.

  • Auditoria e firewall aprimorados. O Enterprise Firewall suporta recargas periódicas de cache e schemas de objetos internos personalizados para maior flexibilidade operacional.

  • Migração de gerenciamento de chaves melhorada. Suporta migração de um componente keyring para um plugin keyring, melhorando a flexibilidade para cenários de migração de criptografia e compatibilidade.

  • Observabilidade de atualização melhorada. O diretório de dados mantém um arquivo mysql_upgrade_history no formato JSON que registra o histórico de instalação e atualização para auditoria e solução de problemas.

  • Evolução aprimorada de SQL e otimizador. Adiciona palavras-chave como TABLESAMPLE, QUALIFY e PARALLEL para fornecer uma base para futuras extensões de SQL e do otimizador.

Apêndice 2: Benefícios da atualização do MySQL 5,7 para o MySQL 8,0

  • Melhora a segurança e oferece maior flexibilidade no gerenciamento de contas.

  • Suporta a criação e o gerenciamento de grupos de recursos.

  • Aprimora os recursos do mecanismo de armazenamento InnoDB.

  • Adiciona suporte a novos conjuntos de caracteres, tipos de dados, sintaxe, novos bloqueios de backup e flags optimizer_switch.

  • Aprimora a funcionalidade JSON e XML.

  • Aprimora os recursos do otimizador.

  • Melhora o desempenho da replicação.

  • Suporta a criação de índices multivalorados e otimização de pushdown de condição derivada.

  • Suporta a leitura de tabelas de concessão do MySQL.

  • Suporta controle de alocação de recursos.

Apêndice 3: Benefícios da atualização do MySQL 5,6 para o MySQL 5,7

  • Adiciona recursos como gerenciamento de senhas, bloqueio de contas e conexões criptografadas para melhorar a segurança do banco de dados.

  • Suporta operações Online DDL, como renomear um índice usando RENAME INDEX.

  • Melhora a escalabilidade do mecanismo InnoDB e o desempenho de tabelas temporárias para carregamento de dados mais rápido.

  • Suporta JSON.

  • Suporta Index Condition Pushdown (ICP) para tabelas particionadas e novos índices espaciais InnoDB.

  • Otimiza a maioria dos analisadores, otimizadores e modelos de custo para melhorar a manutenibilidade, escalabilidade e desempenho do banco de dados.

  • Expande a variedade de conjuntos de caracteres suportados, incluindo o conjunto de caracteres GB18030 especificado pelo padrão nacional chinês.

  • Fornece o plugin analisador de texto completo ngram, que suporta chinês, japonês e coreano.

  • Otimiza threads de dump de source para reduzir contenção de bloqueio e aumentar o throughput do source.

  • Reduz significativamente o atraso de replicação.

  • Adiciona o banco de dados de sistema sys, que fornece várias métricas e reduz o uso de armazenamento, melhorando significativamente a usabilidade do banco de dados.

Apêndice 4: Diferenças de recursos entre MySQL 8,4 e MySQL 8,0

Nota

A tabela a seguir lista apenas algumas das diferenças importantes entre o MySQL 8,4 e o 8,0. Para mais informações sobre outras diferenças, consulte MySQL Release Notes.

Recurso

8,0

8,4

Autenticação WebAuthn

Não suportado

Suporta autenticação WebAuthn/FIDO2. A Enterprise Edition fornece um plugin no lado do servidor.

SASL LDAP no Windows

Não suportado

Suporta autenticação SASL LDAP/GSSAPI/Kerberos no Windows.

Capacidade cross-point-release do plugin Clone

Geralmente requer correspondência de versão pontual

Dentro da mesma versão principal ou secundária, o clone pode ser realizado entre versões pontuais, como entre 8.4.0 e 8.4.x.

GTID marcado

Não suportado

Suporta o formato UUID:TAG:NUMBER.

Controle de privilégio de tag GTID

Não suportado

Adiciona o privilégio TRANSACTION_GTID_TAG.

Aplicador multithread com SQL_AFTER_GTIDS

Uso limitado; pode retornar para thread única

Suportado com o aplicador multithread.

Limpeza na recuperação de relay log

Comportamento antigo de recuperação de relay log

Pode limpar transações incompletas no final do relay log e arquivos residuais relacionados.

Compatibilidade intra-grupo Group Replication 8.4.x

Não aplicável

Dentro da série LTS 8,4, há suporte para membros de grupo entre versões e downgrades in-place.

Coleta de lixo de certificação do Group Replication

GC padrão

Suporta coleta de lixo de certificação preemptiva no modo single-primary.

Espera por DDL e DCL em group_replication_set_as_primary()

Menor cobertura

Aguarda a conclusão de mais operações DDL e DCL antes de trocar o primário.

Atualização automática de histograma

Não suporta AUTO UPDATE ou MANUAL UPDATE

Suporta controle de atualização automática ou manual de histograma.

Versão de saída de EXPLAIN FORMAT=JSON

Formato JSON único

Suporta explain_json_format_version para selecionar a versão do formato JSON.

EXPLAIN FORMAT=JSON INTO

Não suportado

Suporta gravação da saída explain JSON em uma variável de usuário.

EXPLAIN FOR SCHEMA ou FOR DATABASE

Não suportado

Suporta explicação de instruções para um schema especificado.

Tratamento de comentários do cliente MySQL

Remove comentários por padrão

Mantém comentários por padrão.

Validação de certificado TLS

Comportamento mais leniente

Suporta validação rigorosa de certificado TLS.

Recarga de cache do Enterprise Firewall

Principalmente recarrega na inicialização ou reinstalação do plugin

Suporta recargas periódicas.

Schema de armazenamento do Enterprise Firewall

Localização interna fixa

Suporta um schema personalizado.

Migração de componente keyring para plugin

Não suportado

Suporta migração de um componente keyring para um plugin keyring.

Histórico de atualização

Usa o mecanismo legado de arquivo de informações de atualização

O diretório de dados mantém um arquivo mysql_upgrade_history no formato JSON.

Apêndice 5: Diferenças de recursos entre MySQL 8,0 e MySQL 5,7

Nota

A tabela a seguir lista apenas algumas das diferenças importantes entre o MySQL 8,0 e o 5,7. Para mais informações sobre outras diferenças, consulte MySQL Release Notes.

Recurso

5,7

8,0

Sintaxe GRANT ... IDENTIFIED BY PASSWORD

Suportado

Não suportado

Função PASSWORD()

Suportado

Não suportado

Sintaxe FLUSH QUERY CACHE e RESET QUERY CACHE

Suportado

Não suportado

Parâmetros para a variável de sistema SQL_MODE: DB2, MAXDB, MSSQL, MYSQL323, MYSQL40, ORACLE, POSTGRESQL, NO_FIELD_OPTIONS, NO_KEY_OPTIONS, NO_TABLE_OPTIONS

Suportado

Não suportado

Classificação automática padrão para sintaxe GROUP BY

Suporte

Não suportado

Sintaxe que contém a palavra-chave EXTENDED ou PARTITIONS

Suportado

Não suportado

Funções de criptografia como ENCODE(), DECODE() e ENCRYPT()

Suportado

Não suportado

Funções relacionadas à análise espacial

Suportado

Não suportado

Funções que anteriormente aceitavam string WKB ou argumentos de geometria, mas não aceitam mais argumentos de geometria

Suportado

Não suportado

Análise de \N como NULL

Suporte

Não suportado

Função PROCEDURE ANALYSE()

Suportado

Não suportado

Criação de tabelas particionadas usando o mecanismo de armazenamento NDB

Suportado

Não suportado

Compactação de tabelas temporárias usando o mecanismo de armazenamento InnoDB

Suportado

Não suportado

Função JSON_APPEND()

Suportado

Não suportado

Suporte para colocar partições de tabela em um tablespace compartilhado

Suportado

Não suportado

Sintaxe ALTER TABLE ... UPGRADE PARTITIONING

Suportado

Não suportado

Apêndice 6: Diferenças de recursos entre MySQL 5,7 e MySQL 5,6

Nota

A tabela a seguir lista apenas algumas das diferenças importantes entre o MySQL 5,7 e o 5,6. Para mais informações sobre outras diferenças, consulte MySQL Release Notes.

Recurso

5,6

5,7

CREATE...AS SELECT no modo GTID

Suporte

Não suportado

Uso de tabelas temporárias em transações no modo GTID

Suportado

Não suportado

Especificação de uma chave de partição em uma tabela particionada

Suportado

Não suportado

Sintaxe ENGINE_NO_CACHE

Suportado

Não suportado

Índices invisíveis

Suporte

Não suportado

Sintaxe UPDATE non_affected_rows INSERT

Suportado

Não suportado

Comandos relacionados a proxy

Usa o método de comando SET

Usa o modo Call Procedure

Mecanismos TokuDB, Sphinx, RocksDB e Memory

Suportado

Não suportado

Função str_ord()

Suportado

Não suportado

Função raiseerror()

Suportado

Não suportado

OPTIMIZE TABLE table ASYNC

Suporte

Não suportado

ENGINE_NO_CACHE

Suportado

Não suportado

Tabela INFORMATION.TABLE_UTILIZATION

Suporte

Não suportado

As colunas requesting_thd_id e blocking_thd_id na tabela INFORMATION_SCHEMA.INNODB_LOCK_WAITS

Suportado

Não suportado

Tabela INFORMATION_SCHEMA.INNODB_RSEG

Suportado

Não suportado

Tabela INFORMATION_SCHEMA.INNODB_IO_STATUS

Suportado

Não suportado

Recurso de compactação de coluna

Suportado

Não suportado

Query Plan Cache

Suportado

Não suportado

Sintaxe Limit + Union

Parênteses não são necessários.

Parênteses são necessários.

Sintaxe SHOW FULL PROCESSLIST

No MySQL 5,7, as colunas memory e query_memory foram removidas do resultado.

max_statement_time e max_execution_time

No MySQL 5,7, max_statement_time foi removido e apenas max_execution_time foi mantido.

Sintaxe RDS_SQL_MAX_AFFECTED

No MySQL 5,7, não é mais possível usar RDS_SQL_MAX_AFFECTED para limitar o número de registros afetados por uma única instrução UPDATE ou DELETE. Use a variável rds_sql_max_affected_rows em vez disso.

Ajustes de otimização de desempenho de concorrência

No MySQL 5,7, os seguintes parâmetros não são mais suportados para controle de concorrência:

  • innodb_adaptive_tickets_algo

  • innodb_min_concurrency_tickets

  • rds_threads_running_ctl_mode

  • rds_threads_running_high_watermark

  • rds_filter_key_cmp_in_order

  • rds_reset_all_filter

  • rds_sql_delete_filter

  • rds_sql_select_filter

  • rds_sql_update_filter

  • rds_strict_concurrency

  • rds_thread_extra_concurrency

  • rds_strict_trx_idle_timeout

  • rds_sql_buf_read_bandwidth

  • rds_sql_buf_read_threshold_bytes

  • rds_sql_buf_write_bandwidth

  • rds_sql_buf_write_threshold_bytes

  • rds_sql_max_iops

Ajustes nas variáveis de contagem de conexões

As seguintes variáveis foram removidas no MySQL 5,7:

  • extra_max_connections

  • rds_root_connections

  • rds_sysinfo_connections

  • rds_sysinfo_user_list

Ajustes relacionados à replicação

  • Ajustes de compatibilidade do MySQL 5,7:

    • A replicação entre bancos de dados com GTID ativado e sem GTID ativado não é mais suportada.

    • sql_slave_skip_counter não pode mais ser usado com GTIDs.

    • CREATE .... SELECT não é mais suportado.

  • Ajustes relacionados a slave no MySQL 5,7:

    • SHOW SLAVE LAG não é mais suportado.

    • SHOW SLAVE STATUS não suporta mais timeouts.

    • SHOW SLAVE STATUS exibe menos informações.

    • O sql_thread do slave não suporta mais timeouts de execução.

    • O sql_thread do slave não suporta mais pular certas instruções.

  • Ajustes de binary log no MySQL 5,7:

    • O ajuste de velocidade de transmissão não é mais suportado.

    • rds_rpl_receive_buffer_difftime não é mais suportado.

    • rds_rpl_receive_buffer_size não é mais suportado.

Ajustes relacionados a logs

Ajustes de log de erros no MySQL 5,7:

  • O endereço IP, usuário e latência de I/O ou rede para SHUTDOWN não são mais registrados.

  • A exibição do nome da tabela para uma chave duplicada não é mais suportada.

Tipos de dados de tempo antigos (<u>TIME</u>, <u>DATETIME</u> e <u>TIMESTAMP</u>)

Antes da versão 5.6.4, tipos de dados de tempo antigos não suportavam microssegundos.

Tipos de dados de tempo suportam precisão de microssegundos.

Importante

Durante uma atualização de 5,6 para 5,7, o sistema detecta e recria tabelas que contêm campos com tipos de dados de tempo antigos. Isso torna o processo de atualização mais lento.

Apêndice 7: Diferenças de recursos entre MySQL 5,5 e MySQL 5,6

Nota

A tabela a seguir lista apenas algumas das diferenças importantes entre o MySQL 5,5 e o 5,6. Para mais informações sobre outras diferenças, consulte MySQL 5.6 Reference Manual.

Recurso

MySQL 5,5

MySQL 5,6

Índice de texto completo

Não suportado

Suportado

DDL online do InnoDB

Não suportado

Parcialmente suportado

REDO

Suporta no máximo 4 GB

Suporta no máximo 512 GB

Limpeza de páginas sujas

Thread única

Usa uma thread de limpeza separada

Purge

Thread única

Multithread

EXCHANGE PARTITION

Não suportado

Suportado

Seleção explícita de partição em DML

Não suportado

Suportado

INFORMATION_SCHEMA

O MySQL 5,6 fornece mais informações sobre o buffer pool e mais metadados sobre tabelas, índices e campos.

PERFORMANCE_SCHEMA

O Performance Schema no MySQL 5,6 adiciona mais informações de monitoramento e formatos de visualização.

Replicação

Os aprimoramentos e alterações de replicação no MySQL 5,6 incluem o seguinte:

  • Suporta replicação baseada em GTID. A replicação baseada em GTID é controlada pelos parâmetros gtid_mode e enforce_gtid_consistency.

  • Suporta aplicação simultânea de binary logs no banco de dados secundário usando múltiplas threads.

  • FLUSH MASTER e FLUSH SLAVE foram alterados para RESET MASTER e RESET SLAVE no MySQL 5,6.

  • SLAVE START e SLAVE STOP foram alterados para START SLAVE e STOP SLAVE no MySQL 5,6.

Importante

Após uma instância RDS for MySQL ser atualizada de 5,5 para 5,6, ela muda automaticamente para o modo de replicação baseado em GTID.

Otimizador

O MySQL 5,6 aprimora o otimizador com recursos que incluem o seguinte:

  • Multi-Range Read.

  • Index Condition Pushdown.

  • Suporte para Optimizer_trace está disponível.

Purge Large File Asynchronously

Não suportado

Suportado

Thread pool

Não suportado

Suportado

Performance Agent

Não suportado

Suportado

Faster DDL

Não suportado

Suportado

Sequence Engine

Não suportado

Suportado

FAQ

  • P: Por que ocorre uma troca de instância durante a atualização? Existem outros riscos graves?

    R: Para garantir a estabilidade do service, instâncias com discos locais de alto desempenho são atualizadas primeiro atualizando o nó secundário e depois realizando uma troca. Instâncias com ESSDs são atualizadas criando um novo nó e depois realizando uma troca. Não há outros riscos graves. Para mais informações sobre o impacto de um failover primário/secundário, consulte Impacto de um failover primário/secundário.

  • P: Os nós primário e secundário são atualizados ao mesmo tempo?

    R: Ao atualizar um disco local de alto desempenho, a instância secundária é atualizada primeiro, seguida pela instância primária.

  • P: Como atualizo uma instância da Basic Edition executando MySQL 5,7 com SSDs padrão?

    R: Não é possível atualizar diretamente esse tipo de instância. Para atualizar uma instância da Basic Edition executando MySQL 5,7 com SSDs padrão, você deve primeiro alterar o tipo de armazenamento de SSD padrão para ESSD e depois atualizar a versão do banco de dados.

  • P: O modelo de parâmetros é mantido após a atualização da versão do banco de dados?

    R: Depende. Se a instância usar um modelo de parâmetros do sistema antes da atualização, ela será automaticamente alternada para o modelo de parâmetros do sistema correspondente à nova versão. Por exemplo, uma instância usando o modelo de parâmetros MySQL_InnoDB_5.7_High-availability_Performance é alternada para o modelo de parâmetros MySQL_InnoDB_8.0_High-availability_Performance após uma atualização do MySQL 5,7 para 8,0. No entanto, se a instância usar um modelo de parâmetros personalizado, o modelo de parâmetros não será mantido após a atualização.

  • P: Posso modificar a instância durante a atualização da versão do banco de dados?

    R: Não, não é possível. Você só pode realizar outras operações na instância após a conclusão da atualização.

  • P: A versão do banco de dados suporta atualizações automáticas?

    R: Não, não suporta. Atualizações automáticas de versão principal não são suportadas.

  • P: Posso fazer downgrade da versão do banco de dados?

    R: Não é possível fazer downgrade direto da versão pelo console. Selecione um dos seguintes métodos com base no fato de a instância conter dados de negócios:

    • Com dados de negócios: Adquira uma instância que execute uma versão anterior, use o DTS para migrar dados da instância de versão superior para a nova instância de versão inferior e, em seguida, libere a instância de versão superior após a conclusão da migração. Isso faz o downgrade da versão do banco de dados indiretamente. Para mais informações, consulte Migração de dados entre instâncias RDS.

    • Sem dados de negócios: Cancele a assinatura da instância original e adquira uma nova instância que execute a versão anterior necessária. Para instâncias de assinatura, siga o processo de reembolso para cancelar a assinatura. Para instâncias de pagamento conforme o uso, libere-as diretamente.

  • P: Ao atualizar uma instância RDS for MySQL de 5,6 para 5,7 ou de 5,7 para 8,0, a atualização falha. Ela mostra a mensagem "The current instance has a full-text index and its minor version is earlier than 20221130. Please upgrade the minor version before deleting and rebuilding the full-text index" ou "The current instance contains a full-text index built in the system tablespace. Please delete and rebuild the corresponding full-text index before proceeding with the upgrade." Qual é a causa e a solução?

    R: A causa e a solução são as seguintes:

    • Causa

      Devido a um problema histórico no MySQL, ao criar um índice de texto completo em uma versão antiga do MySQL 5,6, ele é construído no tablespace do sistema. Ao atualizar para a versão 5,7 ou 8,0, um índice de texto completo no tablespace do sistema pode causar corrupção do tablespace. Portanto, você deve resolver esse problema antes da atualização para evitar corrupção de dados e inacessibilidade.

      Nota

      Este problema foi corrigido na versão 20221130 do RDS for MySQL 5,6. Índices de texto completo agora são construídos em um tablespace separado.

    • Solução

      Importante

      Índices de texto completo em versões anteriores do RDS for MySQL 5,6 são criados no tablespace do sistema. Portanto, certifique-se de que a versão da qual você está atualizando seja RDS for MySQL 5,6 20221130 ou posterior antes de atualizar para o RDS for MySQL 5,7. Se você estiver usando uma versão anterior, atualize para a versão mais recente do RDS for MySQL 5,6 primeiro.

      1. Com base no nome da tabela no aviso, exclua o índice de texto completo que foi construído no tablespace do sistema.

        # Delete the full-text index.
        ALTER TABLE $table_name DROP INDEX $fts_name;
      2. Recrie o índice de texto completo.

        # Re-create the full-text index.
        ALTER TABLE $table_name ADD FULLTEXT INDEX $fts_name;
      3. Após criar o índice, execute a seguinte instrução SQL para verificar os índices de texto completo na instância atual. A instrução retorna quaisquer índices de texto completo construídos no tablespace do sistema. Se a consulta retornar um resultado vazio, a atualização do RDS for MySQL 5,6 para o RDS for MySQL 5,7 não falhará devido a este problema.

        # Query for full-text indexes built in the system tablespace.
        SELECT NAME FROM information_schema.INNODB_SYS_TABLES WHERE TABLE_ID IN ( SELECT CONV(SUBSTRING_INDEX(SUBSTRING_INDEX(NAME, '_', -4),'_', 1),16,10) FROM INNODB_SYS_TABLES WHERE NAME LIKE '%fts_00000000%' AND SPACE = 0);
  • P: Ao atualizar uma instância RDS for MySQL de 5,7 para 8,0, o erro 267 - Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '=' é relatado. Como lidar com isso?

    R: Verifique o conjunto de caracteres e a collation no MySQL. Se você estiver usando utf8mb4_general_ci, execute as seguintes instruções SQL para alterá-lo para utf8mb4_0900_ai_ci.

    # Modify the character set and collation of the database.
    ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci;
    # Modify the character set and collation of the table.
    ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
    # Modify the character set and collation of the field.
    ALTER TABLE table_name CHANGE column_name column_name type CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;

    Se você criar uma tabela com a collation utf8mb4_general_ci no MySQL 5,7 e depois atualizar para o MySQL 8,0, o sistema usará utf8mb4_0900_ai_ci como a collation padrão. Se você executar uma consulta que compara uma coluna que usa utf8mb4_general_ci com uma coluna que usa utf8mb4_0900_ai_ci, o MySQL não consegue processar as duas collations diferentes, resultando em um erro.

  • P: O tempo de conexão transitória para uma atualização de versão principal é sempre de 15 segundos, independentemente da existência de instâncias somente leitura?

    R: Sim, é. Recomendamos realizar a atualização fora dos horários de pico.

Operações de API relacionadas

Operação de API

Descrição

Atualizar a versão principal de um banco de dados RDS MySQL

Atualiza a versão principal do banco de dados de uma instância RDS.