Quero fazer upgrade de uma versão do mecanismo de banco de dados do Amazon Relational Database Service (Amazon RDS) para MySQL com o mínimo de tempo de inatividade.
Resolução
Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Fazer upgrade de uma versão do mecanismo de banco de dados do Amazon RDS para MySQL
Para fazer upgrade de um mecanismo de banco de dados do Amazon RDS para uma versão principal, você deve usar manualmente o Console de gerenciamento da AWS, a AWS CLI ou a API do RDS. Para obter mais informações, consulte Atualizar manualmente a versão do mecanismo.
Para fazer upgrade automaticamente de um mecanismo de banco de dados do Amazon RDS para uma versão secundária, consulte Atualizar automaticamente a versão do mecanismo espelho.
Práticas recomendadas para minimizar o tempo de inatividade em upgrades do mecanismo de banco de dados do Amazon RDS para MySQL
Estime o tempo do upgrade
O tempo do upgrade depende do tipo de upgrade, dos dados e dos recursos disponíveis. Para estimar o tempo do seu upgrade, teste os upgrades em instâncias de banco de dados de teste separadas. Para executar instâncias de banco de dados de teste para o upgrade principal ou secundário, use uma restauração de snapshot ou uma réplica de leitura. Para obter mais informações, consulte Atualizações do mecanismo de banco de dados do RDS para MySQL.
Para minimizar o tempo de inatividade do upgrade, use a implantação azul/verde para atualizações do banco de dados. Uma implantação azul/verde cria um ambiente de preparação que copia o ambiente de produção. É possível fazer upgrade das suas instâncias de banco de dados do Amazon RDS no ambiente verde sem que isso afete os workloads de produção. Em seguida, alterne os ambientes depois de testá-los.
Impacto do backup do banco de dados
Quando você ativa os backups, o Amazon RDS tira um snapshot da versão anterior da instância de banco de dados para todos os upgrades de versão. Se o Amazon RDS não encontrar nenhum backup recente, ele tirará um snapshot completo durante o processo de upgrade. O tamanho das suas alterações afeta o tempo do upgrade. Sua instância de banco de dados pode continuar aceitando tráfego quando o Amazon RDS tira o snapshot. Após a conclusão de um backup, a instância do banco de dados é encerrada. Em seguida, o MySQL executa a nova versão do mecanismo em uma rede desativada para evitar conexões remotas.
Impacto do desligamento lento
Para empregar um desligamento lento, o Amazon RDS define o valor do parâmetro innodb_fast_shutdown como 0. Em um desligamento lento, o Amazon RDS mescla o buffer de alteração e executa uma limpeza completa das linhas excluídas. Um desligamento lento pode levar de alguns minutos a várias horas com base na quantidade de dados recuperados. Um desligamento lento de um banco de dados com um grande buffer de alteração ou uma lista longa de histórico pode levar mais tempo. Para obter mais informações, consulte slow shutdown, innodb_fast_shutdown, change buffer e purge no site do MySQL.
Conversão da tabela do sistema e do usuário em uma nova versão
Para converter tabelas do sistema e do usuário em uma nova versão, o binário MySQL mysql_upgrade é executado no banco de dados do MySQL. Com base no estado da sua tabela, talvez seja necessário criá-la para se adequar a uma nova versão. O binário mysql_upgrade atualiza os metadados na tabela e mostra que foi feito upgrade no banco de dados. Se você tiver um número maior de tabelas, o Amazon RDS para MySQL pode levar mais tempo para concluir o upgrade da versão principal. Para obter mais informações, consulte mysql_upgrade — check and upgrade MySQL tables (mysql_upgrade — Verificar e fazer upgrade de tabelas do MySQL) no site do MySQL.
Considerações sobre upgrades do MySQL
Durante upgrades principais da versão 8.0 para a 8.4, o Amazon RDS para MySQL reconstrói algumas de suas tabelas. Com base na quantidade de dados em suas tabelas, a reconstrução pode levar várias horas ou vários dias para ser concluída.
As incompatibilidades entre as versões principais do MySQL podem causar problemas durante o upgrade. Para ter um upgrade bem-sucedido, é uma prática recomendada consultar as considerações sobre as atualizações do MySQL. Quando você inicia um upgrade do MySQL 5.7 para 8.0, o Amazon RDS executa automaticamente pré-verificações para detectar incompatibilidades. Para obter mais informações, consulte Upgrading MySQL (Fazendo upgrade do MySQL) no site do MySQL.
Tenha um plano de reversão
Para um upgrade do MySQL 8.0, o Amazon RDS executa pré-verificações para confirmar se há espaço de armazenamento suficiente para reconstruir tabelas. O Amazon RDS também confirma que não há tabelas órfãs. O Amazon RDS não executa pré-verificações em upgrades para versões anteriores ao MySQL 5.7. É uma prática recomendada ter um plano caso o upgrade falhe e seja revertido devido a possíveis falhas no upgrade de versão principal.
Verifique se há problemas nas tabelas
Para verificar se há problemas em suas tabelas, é uma prática recomendada realizar um mysqlcheck. É uma prática recomendada testar suas operações de manutenção de tabela em um snapshot restaurado. Para obter mais informações, consulte mysqlcheck — a table maintenance program (mysqlcheck — um programa de manutenção de tabelas) no site do MySQL.
Informações relacionadas
Atualizar a versão de mecanismo de uma instância de banco de dados
Best practices for upgrading Amazon RDS for MySQL and Amazon RDS for MariaDB (Práticas recomendadas para fazer upgrade do Amazon RDS para MySQL e Amazon RDS para MariaDB)
MySQL em versões do Amazon RDS