

# Fazer upgrade para o Aurora MySQL versão 8.4
<a name="AuroraMySQL.mysql84-upgrade-procedure"></a>

É possível atualizar o Aurora MySQL versão 3 para a versão 8.4 usando uma atualização de versão principal no local. Não é possível realizar atualizações diretas do Aurora MySQL versão 2 para a versão 8.4. Se você estiver executando a versão 2, primeiro deverá atualizar para a versão 3.

Para ter informações gerais sobre o processo de atualização da versão principal, consulte [Realizar a atualização da versão principal de um cluster de bancos de dados do Amazon Aurora MySQL](AuroraMySQL.Updates.MajorVersionUpgrade.md).

## Antes de fazer a atualização para a versão 8.4
<a name="AuroraMySQL.mysql84-upgrade-before"></a>

Antes de fazer a atualização, conclua as seguintes etapas de preparação:

O Aurora executa pré-verificações de atualização automaticamente antes da atualização ser iniciada. Essas pré-verificações identificam problemas de compatibilidade que podem impedir a atualização. Para ver detalhes sobre cada pré-verificação, consulte [Verifique previamente as descrições para atualizar o Aurora MySQL versão 3 para a versão 8.4](AuroraMySQL.upgrade-prechecks-v3-to-v84.descriptions.md).

1. **Migre os plug-ins de autenticação.** Analise todos os usuários do banco de dados e migre todos os usuários que usam `mysql_native_password` para `caching_sha2_password`. No Aurora MySQL versão 8.4, ainda é possível usar o plug-in `mysql_native_password`, mas ele está obsoleto. Como a `authentication_policy` padrão é `*:caching_sha2_password`, os novos usuários são criados com `caching_sha2_password` por padrão.

   ```
   -- Find users using mysql_native_password
   SELECT user, host, plugin FROM mysql.user WHERE plugin = 'mysql_native_password';
   
   -- Migrate a user to caching_sha2_password
   ALTER USER '{{username}}'@'{{host}}' IDENTIFIED WITH caching_sha2_password BY '{{new_password}}';
   ```

1. **Atualize as instruções SQL de replicação.** Se suas aplicações ou scripts usarem instruções de replicação obsoletas (como `SHOW SLAVE STATUS` ou `CHANGE MASTER TO`), atualize-as para usar as instruções de substituição. Essas instruções antigas exibem erros de sintaxe na versão 8.4. Para ver a lista completa, consulte [Comparação entre o Aurora MySQL versão 3 e o Aurora MySQL versão 8.4](AuroraMySQL.Compare-v3-v84.md).

1. **Verifique os parâmetros removidos.** Se seus grupos de parâmetros personalizados usarem qualquer parâmetro que foi removido na versão 8.4 (como `expire_logs_days` ou `default_authentication_plugin`), crie grupos de parâmetros compatíveis com o MySQL 8.4 com os parâmetros de substituição. Aplique todos os valores de parâmetros personalizados necessários aos novos grupos de parâmetros. Para obter detalhes, consulte [Comparação entre o Aurora MySQL versão 3 e o Aurora MySQL versão 8.4](AuroraMySQL.Compare-v3-v84.md).

1. **Verifique se há sintaxe SQL incompatível.** Analise o código da aplicação para verificar a sintaxe removida, como `LOW_PRIORITY` com `LOCK TABLES ... WRITE` e `AUTO_INCREMENT` em colunas `FLOAT` ou `DOUBLE`.

1. **Verifique as restrições de chave estrangeira.** Se seu esquema usa chaves estrangeiras que fazem referência a chaves não exclusivas, observe que a criação de chaves estrangeiras é impedida por padrão na versão 8.4. As chaves estrangeiras existentes continuam funcionando, mas as novas exigem a configuração de `restrict_fk_on_non_standard_key=OFF`.

1. **Verifique se há novas palavras-chave reservadas.** Garanta que os objetos do banco de dados não usem nenhuma das novas palavras-chave reservadas adicionadas no MySQL 8.4 como identificadores sem aspas.

1. **Teste a atualização.** Recomendamos testar a atualização em um clone do cluster de produção antes de atualizar o próprio cluster de produção.

1. **Analise as considerações sobre segurança.** Para ver detalhes sobre alterações no plug-in de autenticação, alterações no TLS e de cifra, políticas de senha e o componente `validate_password`, novos privilégios dinâmicos e pré-verificações de atualização, como e `deprecatedDefaultAuth` e `auroraValidatePasswordPluginCheck`, consulte [Considerações sobre segurança para a atualização do Aurora MySQL versão 3 para a 8.4](AuroraMySQL.Upgrade-v3-v84-security.md).

## Como atualizar para a versão 8.4
<a name="AuroraMySQL.mysql84-upgrade-how"></a>

Para realizar a atualização, siga o procedimento de atualização de versão principal no local descrito em [Realizar a atualização da versão principal de um cluster de bancos de dados do Amazon Aurora MySQL](AuroraMySQL.Updates.MajorVersionUpgrade.md). Selecione a versão 8.4 para o mecanismo de destino ao modificar seu cluster de banco de dados.

Ou você pode usar [Usar implantações azul/verde do Amazon Aurora para atualizações de banco de dados](blue-green-deployments.md) para atualizar com o mínimo de tempo de inatividade. Uma implantação azul/verde cria um ambiente de teste que executa a nova versão com seu ambiente de produção atual, permitindo que você teste e valide antes de fazer a transição.

Após a conclusão da atualização, execute as etapas de limpeza pós-atualização descritas em [Limpeza pós-upgrade do Aurora MySQL versão 8.4](AuroraMySQL.mysql84-post-upgrade.md).