Zero-downtime restart (ZDR – Reinício com tempo de inatividade zero) para Amazon Aurora MySQL
O recurso Zero-downtime restart (ZDR – Reinício com tempo de inatividade zero) pode preservar algumas ou todas as conexões ativas com instâncias de banco de dados durante determinados tipos de reinicializações. O ZDR se aplica a reinicializações que o Aurora executa automaticamente para resolver condições de erro, por exemplo, quando uma réplica começa a ficar muito atrasada em relação à origem.
Importante
O mecanismo ZDR opera com base no melhor esforço. As versões, as classes de instância, as condições de erro, operações SQL compatíveis e outros fatores do Aurora MySQL que determinam onde o ZDR se aplica estão sujeitos a alterações a qualquer momento.
O ZDR para Aurora MySQL 2.x requer a versão 2.10 e posterior. O ZDR está disponível em todas as versões secundárias do Aurora MySQL 3.x. No Aurora MySQL versões 2 e 3, o mecanismo ZDR está habilitado por padrão, e o Aurora não usa o parâmetro aurora_enable_zdr.
Na página Events (Eventos), o Aurora informa atividades relacionadas ao reinício do tempo de inatividade zero. O Aurora registra um evento quando tenta reiniciar usando o mecanismo ZDR. Esse evento indica por que o Aurora executa a reinicialização. Em seguida, o Aurora registra outro evento quando a reinicialização for concluída. Esse evento final relata quanto tempo o processo demorou e quantas conexões foram preservadas ou descartadas durante a reinicialização. Você pode consultar o log de erros do banco de dados para ver mais detalhes sobre o que aconteceu durante a reinicialização.
Embora as conexões permaneçam intactas após uma operação ZDR bem-sucedida, algumas variáveis e recursos são reinicializados. Os seguintes tipos de informações não são preservados por meio de uma reinicialização causada pela reinicialização do tempo de inatividade zero:
- 
        
Variáveis globais. O Aurora restaura variáveis de sessão, mas não restaura variáveis globais após a reinicialização.
 - 
        
Variáveis de status. Em particular, o valor do tempo de atividade informado pelo status do mecanismo é redefinido.
 - 
        
LAST_INSERT_ID. - 
        
Estado de
auto_incrementna memória para tabelas. O estado de incremento automático na memória é reinicializado. Para ter mais informações sobre valores de incremento automático, consulte o Guia de referência do MySQL.  - 
        
Informações diagnósticas das tabelas
INFORMATION_SCHEMAePERFORMANCE_SCHEMA. Essas informações de diagnóstico também aparecem na saída de comandos comoSHOW PROFILEeSHOW PROFILES. 
A tabela a seguir mostra as versões, os perfis de instância e outras circunstâncias que determinam se o Aurora pode ou não usar o mecanismo ZDR ao reiniciar instâncias de banco de dados no cluster.
| Aurora MySQL versão | O ZDR se aplica ao gravador? | O ZDR se aplica aos leitores? | O ZDR está sempre habilitado? | Observações | 
|---|---|---|---|---|
| 
                             2.x, anterior a 2.10.0  | 
                        
                             Não  | 
                        
                             Não  | 
                        
                             N/D  | 
                        
                             O ZDR não está disponível para essas versões.  | 
                    
| 
                             2.10.0 a 2.11.0  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             O Aurora reverte todas as transações que estão em andamento em conexões ativas. Sua aplicação deve tentar executar as transações novamente. O Aurora cancela todas as conexões que usam TLS/SSL, tabelas temporárias, bloqueios de tabela ou bloqueios de usuário.  | 
                    
| 
                             2.11.1 e posterior  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             O Aurora reverte todas as transações que estão em andamento em conexões ativas. Sua aplicação deve tentar executar as transações novamente. O Aurora cancela todas as conexões que usam tabelas temporárias, bloqueios de tabela ou bloqueios de usuário.  | 
                    
| 
                             3.01 a 3.03  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             O Aurora reverte todas as transações que estão em andamento em conexões ativas. Sua aplicação deve tentar executar as transações novamente. O Aurora cancela todas as conexões que usam TLS/SSL, tabelas temporárias, bloqueios de tabela ou bloqueios de usuário.  | 
                    
| 
                             3.04 e posterior  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             Sim  | 
                        
                             O Aurora reverte todas as transações que estão em andamento em conexões ativas. Sua aplicação deve tentar executar as transações novamente. O Aurora cancela todas as conexões que usam tabelas temporárias, bloqueios de tabela ou bloqueios de usuário.  |