

# Zero-downtime restart (ZDR – Reinício com tempo de inatividade zero) para Amazon Aurora MySQL
<a name="AuroraMySQL.Replication.Availability"></a><a name="zdr"></a>

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_increment` na 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](https://dev.mysql.com/doc/refman/8.0/en/innodb-auto-increment-handling.html#innodb-auto-increment-initialization).
+ Informações diagnósticas das tabelas `INFORMATION_SCHEMA` e `PERFORMANCE_SCHEMA`. Essas informações de diagnóstico também aparecem na saída de comandos como `SHOW PROFILE` e `SHOW 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.  | 