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:
- O módulo Az PowerShell instalado localmente ou o Azure Cloud Shell no navegador
- Um Banco de Dados do Azure para servidor MySQL
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. | |
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. | |
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.
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.
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".