Partilhar via


Restaurar um Banco de Dados do Azure para MySQL - Instância do Servidor Flexível usando a CLI do Azure

O Banco de Dados do Azure para MySQL - Servidor Flexível, cria automaticamente backups de servidor e os armazena com segurança em armazenamento redundante local dentro da região.

Este script de CLI de exemplo executa uma restauração point-in-time e cria um novo servidor a partir dos backups do seu servidor flexível.

O novo Servidor Flexível é criado com a configuração do servidor original e também herda tags e configurações, como rede virtual e firewall, do servidor de origem. A camada de computação e armazenamento, a configuração e as definições de segurança do servidor restaurado podem ser alteradas após a conclusão da restauração.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar. Atualmente, com uma conta gratuita do Azure, você pode experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente por 12 meses. Para obter mais informações, consulte Usar uma conta gratuita do Azure para experimentar o Banco de Dados do Azure para MySQL - Servidor Flexível gratuitamente.

Pré-requisitos

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Script de exemplo

Iniciar o Azure Cloud Shell

O Azure Cloud Shell é um shell interativo gratuito que pode utilizar para executar os passos neste artigo. Tem as ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

Para abrir o Cloud Shell, basta selecionar Experimentar no canto superior direito de um bloco de código. Também pode iniciar o Cloud Shell num separador do browser separado ao aceder a https://shell.azure.com.

Quando o Cloud Shell abrir, verifique se o Bash está selecionado para o seu ambiente. As sessões subsequentes usarão a CLI do Azure em um ambiente Bash, selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e pressione Enter para executá-lo.

Iniciar sessão no Azure

O Cloud Shell é autenticado automaticamente na conta inicial com a qual entrou conectado. Use o script a seguir para entrar usando uma assinatura diferente, substituindo subscriptionId pela sua ID de assinatura do Azure.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

Para obter mais informações, consulte definir assinatura ativa ou fazer login interativamente.

Executar o script

# Perform point-in-time-restore of a source server to a new server

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="restore-server-mysql"
server="msdocs-mysql-server-$randomIdentifier"
restoreServer="restore-server$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"
ipAddress="None"
# Specifying an IP address of 0.0.0.0 allows public access from any resources
# deployed within Azure to access your server. Setting it to "None" sets the server 
# in public access mode but does not create a firewall rule.
# For your public IP address, https://whatismyipaddress.com

echo "Using resource group $resourceGroup with login: $login, password: $password..."

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a MySQL Flexible server in the resource group

az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --public-access $ipAddress

# Sleeping commands to wait long enough for automatic backup to be created
echo "Sleeping..."
sleep 15m

# Restore a server from backup to a new server
# To specify a specific point-in-time (in UTC) to restore from, use the ISO8601 format:
# restorePoint=“2021-07-09T13:10:00Z”
restorePoint=$(date +%s)
restorePoint=$(expr $restorePoint - 60)
restorePoint=$(date -d @$restorePoint +"%Y-%m-%dT%T")
echo $restorePoint

echo "Restoring to $restoreServer"
az mysql flexible-server restore --name $restoreServer --resource-group $resourceGroup --restore-time $restorePoint --source-server $server

Clean up resources (Limpar recursos)

Use o comando a seguir para remover o grupo de recursos e todos os recursos associados a ele usando o comando az group delete - a menos que você tenha uma necessidade contínua desses recursos. Alguns desses recursos podem demorar um pouco para criar, bem como para excluir.

az group delete --name $resourceGroup

Referência de exemplo

Este script utiliza os seguintes comandos. Cada comando na tabela liga à documentação específica do comando.

Comando Notas
az group create Cria um grupo de recursos no qual todos os recursos são armazenados
az mysql flexível-server criar Cria um servidor flexível que hospeda os bancos de dados.
AZ MySQL Flexible-Server Restore Restaure um servidor flexível a partir do backup.
AZ MySQL Flexible-Server Show Obtenha detalhes de um servidor flexível.
AZ MySQL Flexible-Server Excluir Exclui um servidor flexível.
az group delete Elimina um grupo de recursos, incluindo todos os recursos aninhados.