Atualização de versão importante no Banco de Dados do Azure para MySQL com servidor único

APLICA-SE A: Banco de Dados do Azure para MySQL – Servidor único

Importante

O Banco de Dados do Azure para servidor único MySQL está no caminho de desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para o servidor flexível MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para o servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?

Observação

Este artigo contém referências ao termo servidor subordinado, um termo que a Microsoft não usa mais. Quando o termo for removido do software, também o removeremos deste artigo.

Importante

Uma atualização de versão importante do Banco de Dados do Azure para MySQL com servidor único está em versão pré-visualização pública.

Este artigo descreve como é possível atualizar a versão principal no local do MySQL no Banco de Dados do Azure para MySQL servidor único.

Esse recurso permitirá que os clientes executem atualizações no local de seus servidores MySQL 5.6 para o MySQL 5.7 com um clique de botão, sem nenhuma movimentação de dados ou a necessidade de alterações na cadeia de conexão do aplicativo.

Observação

Executar a atualização de versão principal do MySQL 5.6 para o MySQL 5.7 usando portal do Azure

Siga estas etapas para executar a atualização de versão principal para o servidor do Banco de Dados do Azure do MySQL 5.6 usando portal do Azure

Importante

É recomendável executar a atualização primeiro na cópia restaurada do servidor em vez de atualizar a produção diretamente. Consulte como executar uma restauração pontual.

  1. No portal do Azure, selecione o servidor do Banco de Dados do Azure para MySQL 5.6 existente.

  2. Na página Visão geral, clique no botão Atualizar na barra de ferramentas.

  3. Na seção Atualização, selecione OK para atualizar o servidor do banco de dados do Azure para MySQL 5.6 para o servidor 5.7.

    Azure Database for MySQL - overview - upgrade

  4. Uma notificação confirmará que a atualização foi bem-sucedida.

Executar a atualização de versão principal do MySQL 5.6 para o MySQL 5.7 usando a CLI do Azure

Siga estas etapas para executar a atualização de versão principal para o servidor do Banco de Dados do Azure do MySQL 5.6 usando a CLI do Azure

Importante

É recomendável executar a atualização primeiro na cópia restaurada do servidor em vez de atualizar a produção diretamente. Consulte como executar uma restauração pontual.

  1. Instale a CLI do Azure para Windows ou use a CLI do Azure no Azure Cloud Shell para executar os comandos de atualização.

    Esta atualização requer a versão 2.16.0 ou posterior da CLI do Azure. Se você está usando o Azure Cloud Shell, a versão mais recente já está instalada. Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.

  2. Depois de entrar, execute o comando az mysql server upgrade:

    az mysql server upgrade --name testsvr --resource-group testgroup --subscription MySubscription --target-server-version 5.7"
    

    O prompt de comando mostra a mensagem "-Em execução". Depois que essa mensagem não for mais exibida, a atualização de versão estará concluída.

Executar a atualização de versão principal do MySQL 5.6 para o MySQL 5.7 na réplica de leitura usando portal do Azure

  1. No portal do Azure, selecione a réplica de leitura do servidor do Banco de Dados do Azure para MySQL 5.6 existente.

  2. Na página Visão geral, clique no botão Atualizar na barra de ferramentas.

  3. Na seção Atualização, selecione OK para atualizar a réplica de leitura do servidor do banco de dados do Azure para MySQL 5.6 para o servidor 5.7.

    Azure Database for MySQL - overview - upgrade

  4. Uma notificação confirmará que a atualização foi bem-sucedida.

  5. Na página Visão geral, confirme se a versão da réplica de leitura do servidor do banco de dados do Azure para MySQL é a 5.7.

  6. Agora vá para o servidor primário e execute a atualização de versão principal nele.

Realize uma atualização de versão principal com tempo de inatividade mínimo do MySQL 5.6 para o MySQL 5.7 usando réplicas de leitura

É possível realizar uma atualização de versão principal com tempo de inatividade mínimo do MySQL 5.6 para o MySQL 5.7 utilizando réplicas de leitura. A ideia é atualizar a réplica de leitura do servidor para o servidor 5.7 primeiro e posterior failover do aplicativo para apontar para a réplica de leitura e torná-la um novo servidor primário.

  1. No portal do Azure, selecione o servidor do Banco de Dados do Azure para MySQL 5.6.

  2. Crie uma réplica de leitura do servidor primário.

  3. Atualize a réplica de leitura para a versão 5.7.

  4. Depois de confirmar que o servidor de réplica está em execução na versão 5.7, pare o aplicativo de se conectar ao servidor primário.

  5. Verifique o status da replicação e verifique se a réplica está toda em dia com o primário para que todos os dados sejam sincronizados e verifique se não há novas operações executadas no primário.

    Chame o comando show slave status no servidor de réplica para exibir o status de replicação.

    SHOW SLAVE STATUS\G
    

    Se os estados de Slave_IO_Running e Slave_SQL_Running forem "yes" e o valor de Seconds_Behind_Master for "0", a replicação está funcionando bem. Seconds_Behind_Master indica o atraso da réplica. Se o valor não for "0", isso significa que a réplica está processando as atualizações. Quando confirmar que Seconds_Behind_Master está com "0", é seguro parar a replicação.

  6. Promova a réplica de leitura para primária interrompendo a replicação.

  7. Aponte seu aplicativo para a nova primária (réplica antiga) que está executando o servidor 5.7. Cada servidor tem uma cadeia de conexão única. Atualize seu aplicativo para direcionar para a réplica (antiga) em vez da origem.

Observação

Esse cenário terá tempo de inatividade somente durante as etapas 4, 5 e 6.

Perguntas frequentes

Quando esse recurso de atualização será GA, visto que temos o MySQL v5.6 no ambiente de produção que precisamos atualizar?

A GA desse recurso está planejada para antes da desativação do MySQL v5.6. No entanto, o recurso está pronto para produção e tem suporte total do Azure, portanto, você deve executar com confiança em seu ambiente. A prática mais recomendada é o executar e testar primeiro em uma cópia restaurada do servidor para que seja possível estimar o tempo de inatividade durante a atualização e executar o teste de compatibilidade do aplicativo antes de ser executado em produção. Para obter mais informações, consulte como executar a restauração pontual para criar uma cópia pontual do seu servidor.

Isso causará tempo de inatividade do servidor e, em caso positivo, por quanto tempo?

Sim, o servidor ficará indisponível durante o processo de atualização, portanto, recomendamos que execute essa operação durante a janela de manutenção planejada. O tempo de inatividade estimado depende do tamanho do banco de dados, do tamanho do armazenamento provisionado (IOPs provisionados) e do número de tabelas no banco de dados. O tempo de atualização é diretamente proporcional ao número de tabelas no servidor. Espera-se que as atualizações de servidores SKU Básicos levem mais tempo, pois estão na plataforma de armazenamento padrão. Para estimar o tempo de inatividade para seu ambiente de servidor, recomendamos primeiro executar a atualização na cópia restaurada do servidor. Considere realizar uma atualização de versão principal com tempo de inatividade mínimo do MySQL 5.6 para o MySQL 5.7 usando a réplica de leitura.

O que acontecerá se não optarmos por atualizar nosso servidor MySQL v5.6 antes de 5 de fevereiro de 2021?

Você ainda pode continuar executando o servidor MySQL v5.6 como antes. O Azure nunca executará a atualização à força em seu servidor. No entanto, as restrições documentadas na Política de versão para Banco de Dados do Azure para MySQL serão aplicadas.

Próximas etapas

Saiba mais sobre Política de versão do Banco de Dados do Azure para MySQL.