Como criar e gerenciar réplicas de leitura no Banco de Dados do Azure para MySQL usando o PowerShell

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

Importante

O servidor único do Banco de Dados do Azure para 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 servidor flexível MySQL, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único MySQL?

Neste artigo, você aprenderá a criar e gerenciar réplicas de leitura no serviço Banco de Dados do Azure para MySQL usando o PowerShell. Para saber mais sobre réplicas de leitura, consulte a visão geral.

Azure PowerShell

Você pode criar e gerenciar réplicas de leitura usando o PowerShell.

Pré-requisitos

Para concluir este guia de instruções, você precisa:

Importante

Enquanto o módulo Az.MySql PowerShell estiver em visualização, você deve instalá-lo separadamente do módulo Az PowerShell usando o seguinte comando: Install-Module -Name Az.MySql -AllowPrerelease. Assim que o módulo Az.MySql PowerShell estiver disponível em geral, ele se tornará parte de futuras versões do módulo Az PowerShell e estará disponível nativamente no Azure Cloud Shell.

Se você optar por usar o PowerShell localmente, conecte-se à sua conta do Azure usando o cmdlet Connect-AzAccount .

Azure Cloud Shell

O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Ligação
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. Button to launch Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.

  4. Selecione Enter para executar o código ou comando.

Importante

O recurso de réplica de leitura só está disponível para o Banco de Dados do Azure para servidores MySQL nas camadas de preços de Uso Geral ou Memória Otimizada. Verifique se o servidor de origem está em uma dessas camadas de preço.

Se o GTID estiver habilitado em um servidor primário (gtid_mode = ON), as réplicas recém-criadas também terão o GTID habilitado e usarão a replicação baseada em GTID. Para saber mais, consulte Identificador de transação global (GTID)

Criar uma réplica de leitura

Importante

Se o servidor de origem não tiver servidores de réplica existentes, o servidor de origem pode precisar de uma reinicialização para se preparar para a replicação, dependendo do armazenamento usado (v1/v2). Considere reiniciar o servidor e execute esta operação fora do horário de pico. Consulte Reinicialização do servidor de origem para obter mais detalhes.

Um servidor de réplica de leitura pode ser criado usando o seguinte comando:

Get-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup |
  New-AzMySqlReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

O New-AzMySqlReplica comando requer os seguintes parâmetros:

Definição Valor de exemplo Descrição
ResourceGroupName  myresourcegroup  O grupo de recursos onde o servidor de réplica é criado. 
Nome MyDemoReplicaServer O nome do novo servidor de réplica criado.

Para criar uma réplica de leitura entre regiões, use o parâmetro Location . O exemplo a seguir cria uma réplica na região Oeste dos EUA .

Get-AzMySqlServer -Name mrdemoserver -ResourceGroupName myresourcegroup |
  New-AzMySqlReplica -Name mydemoreplicaserver -ResourceGroupName myresourcegroup -Location westus

Nota

Para saber mais sobre em quais regiões você pode criar uma réplica, visite o artigo ler conceitos de réplica.

Por padrão, as réplicas de leitura são criadas com a mesma configuração de servidor que a origem, a menos que o parâmetro Sku seja especificado.

Nota

É recomendável que a configuração do servidor de réplica seja mantida em valores iguais ou maiores do que a origem para garantir que a réplica seja capaz de acompanhar o mestre.

Listar réplicas para um servidor de origem

Para exibir todas as réplicas de um determinado servidor de origem, execute o seguinte comando:

Get-AzMySqlReplica -ResourceGroupName myresourcegroup -ServerName mydemoserver

O Get-AzMySqlReplica comando requer os seguintes parâmetros:

Definição Valor de exemplo Descrição
ResourceGroupName  myresourcegroup  O grupo de recursos para o qual o servidor de réplica será criado. 
ServerName mydemoserver O nome ou ID do servidor de origem.

Excluir um servidor de réplica

A exclusão de um servidor de réplica de leitura pode ser feita executando o Remove-AzMySqlServer cmdlet.

Remove-AzMySqlServer -Name mydemoreplicaserver -ResourceGroupName myresourcegroup

Excluir um servidor de origem

Importante

Eliminar um servidor de origem interrompe a replicação de todos os servidores de réplica e elimina o próprio servidor de origem. Os servidores de réplica tornam-se servidores autónomos que suportam agora tanto leitura como escritas.

Para excluir um servidor de origem, você pode executar o Remove-AzMySqlServer cmdlet.

Remove-AzMySqlServer -Name mydemoserver -ResourceGroupName myresourcegroup

Problema Conhecido

Há duas gerações de armazenamento que os servidores em nível de uso geral e memória otimizada usam, armazenamento de uso geral v1 (suporta até 4 TB) ou armazenamento de uso geral v2 (suporta armazenamento de até 16 TB). O servidor de origem e o servidor de réplica devem ter o mesmo tipo de armazenamento. Como o armazenamento de uso geral v2 não está disponível em todas as regiões, certifique-se de escolher a região de réplica correta enquanto usa o local com o PowerShell para a criação de réplicas de leitura. Para saber como identificar o tipo de armazenamento do servidor de origem, consulte o link Como posso determinar em qual tipo de armazenamento meu servidor está sendo executado.

Se você escolher uma região onde não é possível criar uma réplica de leitura para o servidor de origem, encontrará o problema em que a implantação continuará em execução conforme mostrado na figura abaixo e, em seguida, atingirá o tempo limite com o erro "A operação de provisionamento de recursos não foi concluída dentro do período de tempo limite permitido".

Read replica cli error

Próximos passos