Atualizar o mecanismo de banco de dados MySQL - Amazon Relational Database Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Atualizar o mecanismo de banco de dados MySQL

Quando o Amazon RDS oferece suporte a uma nova versão de um mecanismo de banco de dados, você pode atualizar suas instâncias de banco de dados para essa nova versão. Há dois tipos de atualizações para instâncias de banco de dados MySQL: atualizações de versão principal e atualizações de versões secundárias.

As atualizações da versão principal podem conter as alterações de banco de dados incompatíveis com os aplicativos existentes. Como resultado, você deve realizar manualmente as atualizações de versões principais das suas instâncias de banco de dados. Você pode iniciar uma atualização de versão principal modificando manualmente sua instância de banco de dados. No entanto, antes de realizar uma atualização de versão principal, recomendamos seguir as instruções descritas em Atualizações da versão principal para o MySQL.

Por outro lado, atualizações de versões secundárias incluem apenas alterações compatíveis com versões anteriores dos aplicativos existentes. Você pode iniciar uma atualização de versão secundária manualmente modificando sua instância de banco de dados. Ou é possível habilitar a opção Auto minor version upgrade (Atualização automática da versões secundárias) ao criar ou modificar uma instância de banco de dados. Isso significa que sua instância de banco de dados será atualizada automaticamente depois que o Amazon RDS testar e aprovar a nova versão. Para obter informações sobre como realizar uma atualização, consulte Atualizar a versão de mecanismo de uma instância de banco de dados .

Se a instância de banco de dados MySQL estiver usando réplicas de leitura, atualize todas as réplicas de leitura antes de atualizar a instância de origem. Se a sua instância de banco de dados estiver em uma implantação Multi-AZ, as réplicas principal e em espera serão atualizadas. A instância de banco de dados não estará disponível até que a atualização seja concluída.

Visão geral da atualização

Ao usar o Console de gerenciamento da AWS para atualizar uma instância de banco de dados, ele exibe os destinos de atualização válidos para a instância de banco de dados. Também é possível usar o seguinte comando da AWS CLI para identificar os destinos de atualizações válidos para uma instância de banco de dados:

Para Linux, macOS ou Unix:

aws rds describe-db-engine-versions \ --engine mysql \ --engine-version version-number \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Para Windows:

aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version version-number ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Por exemplo, para identificar os destinos de atualizações válidos para uma instância de banco de dados MySQL versão 5.6.43, execute o seguinte comando da AWS CLI:

Para Linux, macOS ou Unix:

aws rds describe-db-engine-versions \ --engine mysql \ --engine-version 5.6.43 \ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

Para Windows:

aws rds describe-db-engine-versions ^ --engine mysql ^ --engine-version 5.6.43 ^ --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" --output text

O Amazon RDS usa dois snapshot de banco de dadoss durante o processo de atualização. O primeiro snapshot de banco de dados é da instância de banco de dados antes de qualquer alteração de upgrade ter sido feita. Se o upgrade não funcionar para seus bancos de dados, você poderá restaurar esse snapshot para criar uma instância de banco de dados executando a versão antiga. O segundo DB snapshot é tirado quando a atualização é concluída.

nota

O Amazon RDS só tirará DB snapshots se você tiver definido o período de retenção de backup para sua instância de banco de dados como um número maior que 0. Para alterar o período de retenção de backup, consulte Modificar uma instância de banco de dados do Amazon RDS.

Após a conclusão da atualização, você não pode reverter para a versão anterior do mecanismo de banco de dados. Se quiser retornar à versão anterior, restaure o primeiro DB snapshot tirado para criar outra instância de banco de dados.

Você controla quando atualizar sua instância do banco de dados para uma nova versão compatível com o Amazon RDS. Esse nível de controle ajuda você a manter a compatibilidade com versões específicas de banco de dados e testar novas versões com seu aplicativo antes de implantá-lo na produção. Quando você estiver pronto, poderá executar as atualizações de versão quando achar melhor.

Se sua instância de banco de dados estiver usando uma replicação de leitura, atualize todas as réplicas de leitura antes de atualizar a instância de origem.

Se a sua instância de banco de dados estiver em uma implantação Multi-AZ, as instâncias de banco de dados principal e em espera serão atualizadas. As instâncias de bancos de dados primária e de espera são atualizadas ao mesmo tempo, e há uma interrupção no serviço até a atualização ser concluída. O tempo para a interrupção varia de acordo com o mecanismo de banco de dados, a versão do mecanismo e o tamanho da instância de banco de dados.

Atualizações da versão principal para o MySQL

O Amazon RDS oferece suporte para as seguintes atualizações in-loco para versões principais do mecanismo de banco de dados MySQL:

  • MySQL 5.5 a MySQL 5.6

  • MySQL 5.6 a MySQL 5.7

  • MySQL 5.7 a MySQL 8.0

nota

Você só pode criar instâncias de banco de dados MySQL versões 5.7 e 8.0 com classes de instância de banco de dados de última geração e da geração atual e com a classe de instância de banco de dados da geração anterior à db.m3.

Em alguns casos, você deseja atualizar uma instância de banco de dados MySQL versão 5.6 em execução em uma classe de instância de banco de dados de geração anterior (diferente de db.m3) para uma instância de banco de dados MySQL versão 5.7. Nesses casos, primeiro modifique a instância de banco de dados para usar uma classe de instância de última geração ou de geração atual. Depois de fazer isso, você poderá modificar a instância de banco de dados para usar o mecanismo de banco de dados do MySQL versão 5.7. Para obter informações sobre classes de instâncias de banco de dados do Amazon RDS, consulte Classes da instância de banco de dados.

Visão geral de atualizações de versões principais do MySQL

As atualizações da versão principal podem conter as alterações de banco de dados incompatíveis com os aplicativos existentes. Como resultado, o Amazon RDS não aplica atualizações da versão principal automaticamente. Você deve modificar manualmente sua instância de banco de dados. Convém testar completamente qualquer atualização antes de aplicá-la às suas instâncias de produção.

Para realizar uma atualização de versão principal para uma instância de banco de dados MySQL versão 5.5 no Amazon RDS para o MySQL versão 5.6 ou posterior, primeiro realize as atualizações de SO disponíveis. Após a conclusão das atualizações do sistema operacional, atualize para as versões principais: de 5.5 para 5.6, de 5.6 para 5.7 e, em seguida, de 5.7 para 8.0. As instâncias de banco de dados MySQL criadas antes de 24 de abril de 2014 mostrarão uma atualização do sistema operacional disponível enquanto a atualização não for aplicada. Para obter mais informações sobre atualizações do sistema operacional, consulte Aplicação de atualizações para uma instância de banco de dados.

Durante uma atualização de versão principal do MySQL, o Amazon RDS executa o binário do MySQL mysql_upgrade para atualizar tabelas, se necessário. Além disso, o Amazon RDS esvazia as tabelas slow_log e general_log durante uma atualização de versão principal. Para preservar as informações do log, salve o conteúdo do log antes da atualização da versão principal.

Em geral, as atualizações da versão principal do MySQL são concluídas em cerca de 10 minutos. Algumas atualizações podem demorar mais por causa do tamanho da classe da instância de banco de dados ou porque a instância não segue certas diretrizes operacionais em Melhores práticas do Amazon RDS. Se você atualizar uma instância de banco de dados do console do Amazon RDS, o status dessa instância indicará quando a atualização estiver concluída. Se você atualizar usando a AWS Command Line Interface (AWS CLI), use o comando describe-db-instances e verifique o valor de Status.

As atualizações para o MySQL versão 5.7 podem ser lentas

O MySQL versão 5.6.4 introduziu um novo formato de data e hora para as colunas datetime, time e timestamp, que permite componentes fracionários em valores de data e hora. Ao atualizar uma instância de banco de dados para o MySQL versão 5.7, o MySQL força a conversão de todos os tipos de colunas de data e hora no novo formato.

Como essa conversão reconstrói as tabelas, pode demorar uma quantidade considerável de tempo para concluir a atualização da instância de banco de dados. A conversão forçada ocorre para qualquer instância de banco de dados que esteja executando uma versão antes do MySQL versão 5.6.4. Ela também ocorre para qualquer instância de banco de dados que tenha sido atualizada de uma versão anterior ao MySQL versão 5.6.4 para uma versão diferente de 5.7.

Se a sua instância de banco de dados executar uma versão antes do MySQL versão 5.6.4 ou tiver sido atualizada de uma versão anterior à 5.6.4, recomendamos uma etapa extra. Nesses casos, recomendamos que você converta as colunas datetime, time e timestamp no seu banco de dados antes de atualizar sua instância de banco de dados para o MySQL versão 5.7. Essa conversão pode reduzir de forma significativa o tempo necessário para atualizar a instância de banco de dados para a MySQL versão 5.7. Para atualizar as colunas de data e hora para o novo formato, utilize o comando ALTER TABLE <table_name> FORCE; em todas as tabelas que contêm colunas de data e hora. Como alterar uma tabela a bloqueia como somente leitura, recomendamos que você realize essa atualização durante uma janela de manutenção.

Para localizar todas as tabelas no banco de dados que tenham colunas datetime, time ou timestamp e criar um comando ALTER TABLE <table_name> FORCE; para cada tabela, use a consulta a seguir.

SELECT DISTINCT CONCAT('ALTER TABLE `', REPLACE(is_tables.TABLE_SCHEMA, '`', '``'), '`.`', REPLACE(is_tables.TABLE_NAME, '`', '``'), '` FORCE;') FROM information_schema.TABLES is_tables INNER JOIN information_schema.COLUMNS col ON col.TABLE_SCHEMA = is_tables.TABLE_SCHEMA AND col.TABLE_NAME = is_tables.TABLE_NAME LEFT OUTER JOIN information_schema.INNODB_SYS_TABLES systables ON SUBSTRING_INDEX(systables.NAME, '#', 1) = CONCAT(is_tables.TABLE_SCHEMA,'/',is_tables.TABLE_NAME) LEFT OUTER JOIN information_schema.INNODB_SYS_COLUMNS syscolumns ON syscolumns.TABLE_ID = systables.TABLE_ID AND syscolumns.NAME = col.COLUMN_NAME WHERE col.COLUMN_TYPE IN ('time','timestamp','datetime') AND is_tables.TABLE_TYPE = 'BASE TABLE' AND is_tables.TABLE_SCHEMA NOT IN ('mysql','information_schema','performance_schema') AND (is_tables.ENGINE = 'InnoDB' AND syscolumns.MTYPE = 6);

Pré-verificações de upgrades do MySQL 5.7 a 8.0

O MySQL 8.0 inclui várias incompatibilidades com o MySQL 5.7. Essas incompatibilidades podem causar problemas durante uma atualização do MySQL 5.7 para o MySQL 8.0. Portanto, pode ser necessária uma certa preparação no seu banco de dados para que a atualização seja bem-sucedida. Veja a seguir uma lista geral dessas incompatibilidades:

  • Não deve haver tabelas que usam funções ou tipos de dados obsoletos.

  • Não deve haver arquivos *.frm órfãos.

  • Os gatilhos não devem ter um definidor vazio ou ausente ou um contexto de criação inválido.

  • Não deve haver tabela particionada que usa um mecanismo de armazenamento que não tem suporte para particionamento nativo,

  • Não deve haver violações de palavra-chave ou palavra reservada. Algumas palavras-chave podem ser reservadas no MySQL 8.0 que não eram reservadas anteriormente.

    Para obter mais informações, consulte Palavras-chave e palavras reservadas na documentação do MySQL.

  • Não deve haver tabelas no banco de dados do sistema mysql do MySQL 5.7 com o mesmo nome de uma tabela usada pelo dicionário de dados do MySQL 8.0.

  • Não deve haver modos obsoletos do SQL definidos na configuração de variável do sistema sql_mode.

  • Não deve haver tabelas ou procedimentos armazenados com elementos de coluna ENUM ou SET individuais que excedam 255 caracteres ou 1020 bytes.

  • Antes de atualizar para o MySQ 8.0.13 ou posterior, não deve haver partições de tabela que residam em espaços de tabela compartilhados do InnoDB.

  • Não deve haver consultas e definições de programa armazenadas do MySQL 8.0.12 ou anterior que usem qualificadores ASC ou DESC para causas GROUP BY.

  • A instalação do MySQL 5.7 não deve usar recursos incompatíveis com o MySQL 8.0.

    Para obter mais informações, consulte Recursos removidos no MySQL 8.0 na documentação do MySQL.

  • Não deve haver nomes de restrição de chave externa maiores que 64 caracteres.

  • Para suporte melhorado do Unicode, considere a conversão de objetos que usam o conjunto de caracteres utf8mb3 para que usem o conjunto de caracteres utf8mb4. O conjunto de caracteres utf8mb3 está obsoleto. Além disso, considere o uso de utf8mb4 para referências de conjuntos de caracteres em vez de utf8, pois, no momento, utf8 é um alias para o conjunto de caracteres utf8mb3.

    Para obter mais informações, consulte The utf8mb3 character set (3-byte UTF-8 unicode encoding) na documentação do MySQL.

Quando você inicia uma atualização do MySQL 5,7 para 8,0, o Amazon RDS executa pré-verificações automaticamente para detectar essas incompatibilidades. Para obter informações sobre como atualizar para o MySQL 8.0, consulte Upgrading MySQL (em inglês) na documentação do MySQL.

Essas pré-verificações são obrigatórias. Você não pode optar por ignorá-las. As pré-verificações fornecem os seguintes benefícios:

  • Elas permitem evitar o tempo de inatividade não planejado durante a atualização.

  • Se houver incompatibilidades, o Amazon RDS impedirá a atualização e fornecerá um log para que você saiba sobre elas. Dessa forma, você poderá usar o log para preparar seu banco de dados para a atualização para o MySQL 8.0, eliminando essas incompatibilidades. Para obter informações detalhadas sobre como remover incompatibilidades, consulte Preparar sua instalação para atualização na documentação do MySQL e Atualizando para o MySQL 8.0? aqui está o que você precisa saber... no Blog do MySQL Server.

As pré-verificações incluem algumas que estão incluídas com o MySQL e outras que foram criadas especificamente pela equipe do Amazon RDS. Para obter informações sobre as pré-verificações fornecidas pelo MySQL, consulte Utilitário verificador de atualização.

As pré-verificações são executadas antes que a instância de banco de dados seja interrompida para a atualização, o que significa que elas não causam nenhum tempo de inatividade quando são executadas. Se as pré-verificações encontrarem uma incompatibilidade, o Amazon RDS cancelará automaticamente a atualização antes que a instância de banco de dados seja interrompida. O Amazon RDS também gerará um evento para a incompatibilidade. Para obter mais informações sobre eventos do Amazon RDS, consulte Usar a notificação de evento do Amazon RDS.

O Amazon RDS registra informações detalhadas sobre cada incompatibilidade no arquivo de log PrePatchCompatibility.log. Na maioria dos casos, a entrada de log inclui um link para a documentação do MySQL para corrigir a incompatibilidade. Para obter mais informações sobre como exibir arquivos de log, consulte Como exibir e listar arquivos de log do banco de dados.

Devido à natureza das pré-verificações, eles analisam os objetos do seu banco de dados. Essa análise resulta no consumo do recurso e aumenta o tempo para que a atualização seja concluída.

nota

O Amazon RDS executa pré-verificações apenas para uma atualização do MySQL 5.7 para o MySQL 8.0. Elas não são executadas para atualizações de versões inferiores ao MySQL 8.0. Por exemplo, pré-verificações não são executadas para uma atualização do MySQL 5.6 para o MySQL 5.7.

Testar uma atualização

Antes de executar uma atualização de versão principal na sua instância de banco de dados, você deve testar completamente seu banco de dados para verificar a compatibilidade com a nova versão. Além disso, teste exaustivamente todos os aplicativos que acessam o banco de dados para compatibilidade com a nova versão. Recomendamos que você use o procedimento a seguir.

Para testar um upgrade de versão principal

  1. Reveja a documentação de upgrade para a nova versão do mecanismo de banco de dados para ver se existem problemas de compatibilidade que podem afetar seu banco de dados ou seus aplicativos:

  2. Se a sua instância de banco de dados for um membro de um grupo de parâmetros de banco de dados personalizado, crie um novo grupo de parâmetros de banco de dados com as configurações existentes que seja compatível com a nova versão principal. Especifique o novo grupo de parâmetros de banco de dados quando você atualizar sua instância de teste, de modo que seu teste de atualização garanta que ela funcione corretamente. Para mais informações sobre como criar um parameter group de banco de dados, consulte Como trabalhar com grupos de parâmetros de banco de dados.

  3. Crie um DB snapshot da instância de banco de dados a ser atualizada. Para obter mais informações, consulte Criar um snapshot de banco de dados.

  4. Restaure o snapshot de banco de dados para criar uma nova instância de banco de dados de teste. Para obter mais informações, consulte Restauração a partir de um snapshot de um de banco de dados.

  5. Modifique essa nova instância de banco de dados de teste para atualizá-la para a nova versão, usando um dos métodos detalhados a seguir. Se você criou um novo parameter group na etapa 2, especifique-o.

  6. Avalie o armazenamento usado pela instância atualizada para determinar se o upgrade requer armazenamento adicional.

  7. Execute quantos testes de garantia de qualidade na instância de banco de dados atualizada forem necessários para garantir que o seu banco de dados e o seu aplicativo funcionem corretamente com a nova versão. Implemente os novos testes necessários para avaliar o impacto de problemas de compatibilidade que você identificou na etapa 1. Teste todos os procedimentos armazenados e funções. Direcione versões de teste dos seus aplicativos à instância de banco de dados atualizada.

  8. Se todos os testes forem aprovados, realize o upgrade na sua instância de banco de dados de produção. Recomendamos que você não permita operações de gravação na instância de banco de dados até confirmar que tudo está funcionando corretamente.

Atualizar uma instância de banco de dados MySQL

Para obter informações sobre como atualizar manual ou automaticamente uma instância de banco de dados MySQL, consulte Atualizar a versão de mecanismo de uma instância de banco de dados .

Atualizações da versão secundária automáticas para o MySQL

Se você especificar as seguintes configurações ao criar ou modificar uma instância de banco de dados, poderá fazer com que sua instância de banco de dados seja atualizada automaticamente.

  • A configuração Auto minor version upgrade (Atualização automática de versão secundária) está habilitada.

  • A configuração Backup retention period (Período de retenção de backup) é maior que 0.

Para obter mais informações sobre essas configurações, consulte Configurações para instâncias de banco de dados.

Para algumas versões principais do RDS for MySQL em algumas regiões da AWS, uma versão secundária é designada pelo RDS como a versão de atualização automática. Depois que uma versão secundária foi testada e aprovada pelo Amazon RDS, a atualização de versão secundária ocorre automaticamente durante a janela de manutenção. O RDS não define automaticamente versões secundárias lançadas mais recentemente como a versão de atualização automática. Antes de o RDS designar uma versão de atualização automática, diversos critérios são considerados, como estes:

  • Problemas de segurança conhecidos

  • Bugs na versão da comunidade do MySQL

  • Estabilidade geral de frota desde que a versão secundária foi lançada.

É possível usar o comando da AWS CLI e o script a seguir para determinar a versão atual de destino de atualização secundária automática para uma versão secundária do MySQL especificada em uma região específica da AWS.

aws rds describe-db-engine-versions --output=table --engine mysql --engine-version minor-version --region region

Por exemplo, o comando da AWS CLI a seguir determina o destino da atualização secundária automática para a versão 5.7.19 secundária do MySQL na região Leste dos EUA (Ohio) da AWS (us-east-2).

aws rds describe-db-engine-versions --output=table --engine mysql --engine-version 5.7.19 --region us-east-2

A saída é semelhante à seguinte.

----------------------------------------------------------------------------------------- | DescribeDBEngineVersions | +---------------------------------------------------------------------------------------+ || DBEngineVersions || |+-------------------------------------------------+-----------------------------------+| || DBEngineDescription | MySQL Community Edition || || DBEngineVersionDescription | mysql 5.7.19 || || DBParameterGroupFamily | mysql5.7 || || Engine | mysql || || EngineVersion | 5.7.19 || || Status | available || || SupportsGlobalDatabases | False || || SupportsLogExportsToCloudwatchLogs | True || || SupportsParallelQuery | False || || SupportsReadReplica | True || |+-------------------------------------------------+-----------------------------------+| ||| ExportableLogTypes ||| ||+-----------------------------------------------------------------------------------+|| ||| audit ||| ||| error ||| ||| general ||| ||| slowquery ||| ||+-----------------------------------------------------------------------------------+|| ||| ValidUpgradeTarget ||| ||+-------------+---------------+---------+----------------+--------------------------+|| ||| AutoUpgrade | Description | Engine | EngineVersion | IsMajorVersionUpgrade ||| ||+-------------+---------------+---------+----------------+--------------------------+|| ||| False | MySQL 5.7.21 | mysql | 5.7.21 | False ||| ||| False | MySQL 5.7.22 | mysql | 5.7.22 | False ||| ||| False | | mysql | 5.7.23 | False ||| ||| False | MySQL 5.7.24 | mysql | 5.7.24 | False ||| ||| False | MySQL 5.7.25 | mysql | 5.7.25 | False ||| ||| True | MySQL 5.7.26 | mysql | 5.7.26 | False ||| ||| False | MySQL 5.7.28 | mysql | 5.7.28 | False ||| ||| False | MySQL 5.7.30 | mysql | 5.7.30 | False ||| ||| False | MySQL 5.7.31 | mysql | 5.7.31 | False ||| ||| False | MySQL 8.0.11 | mysql | 8.0.11 | True ||| ||| False | MySQL 8.0.13 | mysql | 8.0.13 | True ||| ||| False | MySQL 8.0.15 | mysql | 8.0.15 | True ||| ||| False | MySQL 8.0.16 | mysql | 8.0.16 | True ||| ||| False | MySQL 8.0.17 | mysql | 8.0.17 | True ||| ||| False | MySQL 8.0.19 | mysql | 8.0.19 | True ||| ||| False | MySQL 8.0.20 | mysql | 8.0.20 | True ||| ||| False | MySQL 8.0.21 | mysql | 8.0.21 | True ||| ||+-------------+---------------+---------+----------------+--------------------------+||

Neste exemplo, o valor AutoUpgrade é True para MySQL versão 5.7.26. Então, o destino da atualização secundária automática é MySQL versão 5.7.26, que está destacado na saída.

Uma instância de banco de dados MySQL é atualizada automaticamente durante a janela de manutenção, caso os seguintes critérios sejam atendidos:

  • A configuração Auto minor version upgrade (Atualização automática de versão secundária) está habilitada.

  • A configuração Backup retention period (Período de retenção de backup) é maior que 0.

  • A instância de banco de dados está executando uma versão de mecanismo de banco de dados secundária que é menor que a versão secundária de atualização automática.

Para obter mais informações, consulte Atualizar automaticamente a versão do mecanismo espelho.

Usando uma réplica de leitura para reduzir o tempo de inatividade ao atualizar um banco de dados MySQL

Se a sua instância de banco de dados MySQL estiver em uso com um aplicativo de produção, você poderá usar o procedimento a seguir para atualizar a versão de banco de dados da sua instância de banco de dados. Esse procedimento pode reduzir o tempo de inatividade do seu aplicativo.

Usando uma réplica de leitura, você pode executar a maioria das etapas de manutenção antes do tempo e minimizar as alterações necessárias durante a interrupção real. Com essa técnica, você pode testar e preparar a nova instância de banco de dados sem fazer alterações em sua instância de banco de dados existente.

O procedimento a seguir mostra um exemplo de atualização do MySQL versão 5.7 para o MySQL versão 8.0. Você pode usar as mesmas etapas gerais nas atualizações para outras versões principais.

nota

Quando você estiver atualizando do MySQL versão 5.7 para o MySQL versão 8.0, conclua as pré-verificações antes de executar a atualização. Para obter mais informações, consulte Pré-verificações de upgrades do MySQL 5.7 a 8.0.

Para atualizar um banco de dados MySQL enquanto uma instância de banco de dados está em uso

  1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. Crie uma réplica de leitura da instância de banco de dados MySQL 5.7. Esse processo cria uma cópia atualizável do seu banco de dados. Outras réplicas de leitura da instância de banco de dados também podem existir.

    1. No console, escolha Databases (Bancos de dados) e depois escolha a instância de banco de dados que você deseja atualizar.

    2. Em Actions (Ações), escolha Create read replica (Criar réplica de leitura).

    3. Forneça o valor do DB instance identifier (Identificador de instância de banco de dados) para a réplica de leitura e verifique se a DB instance class (Classe da instância de banco de dados) e as outras configurações correspondem à instância de banco de dados MySQL 5.7.

    4. Escolha Create read replica (Criar réplica de leitura).

  3. (Opcional) Quando a réplica de leitura for criada e Status for exibida Available (Disponível), converta a réplica de leitura em uma implantação Multi-AZ e ative backups.

    Por padrão, réplicas de leitura são criadas como uma implantação Single-AZ com backups desativados. Como a réplica de leitura se tornará a instância de banco de dados de produção, é uma melhor prática ativar a configuração de uma implantação Multi-AZ e habilitar backups agora.

    1. No console, selecione Databases (Bancos de dados) e a réplica de leitura que você acabou de criar.

    2. Selecione Modify.

    3. Para Multi-AZ deployment (Implantação Multi-AZ), escolha Create a standby instance (Criar uma instância em espera).

    4. Em Backup Retention Period (Período de retenção de backup), escolha um valor positivo diferente de zero e, em seguida, escolha Continue (Continuar).

    5. Em Scheduling of modifications (Programação de modificações), selecione Apply immediately (Aplicar imediatamente).

    6. Selecione Modify DB instance (Modificar instância de banco de dados).

  4. Quando o Status da réplica de leitura mostrar Available (Disponível), atualize a réplica de leitura para o MySQL 8.0:

    1. No console, selecione Databases (Bancos de dados) e a réplica de leitura que você acabou de criar.

    2. Selecione Modify.

    3. Em DB engine version (Versão do mecanismo de banco de dados), selecione a versão do MySQL 8.0 para a qual atualizar e, em seguida, selecione Continue (Continuar).

    4. Em Scheduling of modifications (Programação de modificações), selecione Apply immediately (Aplicar imediatamente).

    5. Selecione Modify DB instance (Modificar instância de banco de dados) para iniciar a atualização.

  5. Quando a atualização for concluída e o Status mostrar Disponível, verifique se a réplica de leitura foi atualizada com a instância de banco de dados MySQL 5.7 de origem. É possível fazer isso conectando-se à réplica de leitura e emitido o comando SHOW SLAVE STATUS. Se o campo Seconds_Behind_Master for 0, a replicação está atualizada.

  6. (Opcional) Crie uma réplica de leitura da réplica de leitura.

    Se você quiser que a instância de banco de dados tenha uma réplica de leitura depois que ela for promovida para uma instância de banco de dados autônoma, você pode criar a réplica de leitura agora.

    1. No console, selecione Databases (Bancos de dados) e selecione a réplica de leitura que você acabou de atualizar.

    2. Em Actions (Ações), escolha Create read replica (Criar réplica de leitura).

    3. Forneça o valor do DB instance identifier (Identificador de instância de banco de dados) para a réplica de leitura e verifique se a DB instance class (Classe da instância de banco de dados) e as outras configurações correspondem à instância de banco de dados MySQL 5.7.

    4. Escolha Create read replica (Criar réplica de leitura).

  7. (Opcional) Configure um grupo de parâmetros de banco de dados personalizado para a réplica de leitura.

    Se você quiser que a instância de banco de dados use um grupo de parâmetros personalizado depois de ser promovida para uma instância de banco de dados independente, você pode criar o grupo de parâmetros de banco de dados agora pode associá-lo à réplica de leitura.

    1. Crie um grupo de parâmetros de banco de dados personalizado para o MySQL 8.0. Para obter instruções, consulte Criar um grupo de parâmetros de banco de dados.

    2. Modifique os parâmetros que você deseja alterar no grupo de parâmetros de banco de dados que você acabou de criar. Para obter instruções, consulte Modificar parâmetros em um grupo de parâmetros de banco de dados.

    3. No console, selecione Databases (Bancos de dados) e a réplica de leitura.

    4. Selecione Modify.

    5. Para o DB parameter group (Grupo de parâmetros do banco de dados), escolha o grupo de parâmetros do banco de dados MySQL 8.0 que você acabou de criar e, em seguida, escolha Continue (Continuar).

    6. Em Scheduling of modifications (Programação de modificações), selecione Apply immediately (Aplicar imediatamente).

    7. Selecione Modify DB instance (Modificar instância de banco de dados) para iniciar a atualização.

  8. Torne sua réplica de leitura MySQL 8.0 uma instância de banco de dados autônoma.

    Importante

    Quando você promove a réplica de leitura do MySQL 8.0 para uma instância de banco de dados autônoma, ela deixa de ser uma réplica da instância de banco de dados MySQL 5.7. Recomendamos que você promova a replica de leitura do MySQL 8.0 durante uma janela de manutenção, quando a instância de banco de dados MySQL 5.7 estiver no modo somente leitura e todas as operações de gravação estiverem suspensas. Quando a promoção terminar, você poderá direcionar suas operações de gravação para a instância de banco de dados MySQL 8.0 atualizada, para garantir que nenhuma operação de gravação seja perdida.

    Além disso, recomendamos que, antes de promover a réplica de leitura do MySQL 8.0, você realize todas as operações de DDL (linguagem de definição de dados) necessárias na réplica de leitura do MySQL 8.0. Um exemplo é a criação de índices. Essa abordagem evita efeitos negativos sobre a performance da réplica de leitura do MySQL 8.0 após a sua promoção. Para promover uma réplica de leitura, use o procedimento a seguir.

    1. No console, selecione Databases (Bancos de dados) e selecione a réplica de leitura que você acabou de atualizar.

    2. Em Actions (Ações), selecione Promote (Promover).

    3. Selecione Yes (Sim) para habilitar backups automatizados da instância da réplica de leitura. Para obter mais informações, consulte Trabalhar com backups.

    4. Escolha Continue.

    5. Escolha Promote Read Replica (Promover réplica de leitura).

  9. Agora, você possui uma versão atualizada do seu banco de dados MySQL. Neste ponto, você pode direcionar as aplicações para a nova instância de banco de dados MySQL 8.0.