Przywracanie serwera usługi Azure Database for MySQL za pomocą interfejsu wiersza polecenia platformy Azure

[DOTYCZY: Azure Database for MySQL — Azure Database for MySQL pojedynczego serwera — serwer elastyczny

Ten przykładowy skrypt interfejsu wiersza polecenia przywraca pojedynczy serwer usługi Azure Database for MySQL do wcześniejszego punktu w czasie.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure .

Wymagania wstępne

Przykładowy skrypt

Uruchamianie usługi Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule. Udostępnia ona wstępnie zainstalowane i najczęściej używane narzędzia platformy Azure, które są skonfigurowane do użycia na koncie.

Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również uruchomić usługę Cloud Shell w oddzielnej karcie przeglądarki, przechodząc do strony https://shell.azure.com.

Po otwarciu Cloud Shell sprawdź, czy powłoka Bash jest wybrana dla danego środowiska. Kolejne sesje będą używać interfejsu wiersza polecenia platformy Azure w środowisku powłoki Bash, wybierz pozycję Kopiuj, aby skopiować bloki kodu, wkleić go do Cloud Shell i nacisnąć klawisz Enter, aby go uruchomić.

Logowanie do platformy Azure

Cloud Shell jest automatycznie uwierzytelniany na początkowym koncie zalogowanym. Użyj poniższego skryptu, aby zalogować się przy użyciu innej subskrypcji, zastępując <Subscription ID> element identyfikatorem subskrypcji platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure .

subscription="<subscriptionId>" # add subscription here

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

Aby uzyskać więcej informacji, zobacz Ustawianie aktywnej subskrypcji lub logowanie interakcyjne

Uruchamianie skryptu

# Restore an Azure Database for MySQL server

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="backup-restore-mysql"
server="msdocs-mysql-server-$randomIdentifier"
sku="GP_Gen5_2"
restoreServer="restore-server$randomIdentifier"
login="azureuser"
password="Pa$$w0rD-$randomIdentifier"

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 server in the resource group
# Name of a server maps to DNS name and is thus required to be globally unique in Azure.
echo "Creating $server in $location..."
az mysql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --sku-name $sku

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

# 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 $restoreServer"
az mysql server restore --name $restoreServer --resource-group $resourceGroup --restore-point-in-time $restorePoint --source-server $server

Czyszczenie zasobów

Użyj następującego polecenia, aby usunąć grupę zasobów i wszystkie skojarzone z nią zasoby przy użyciu polecenia az group delete — chyba że masz bieżące zapotrzebowanie na te zasoby. Utworzenie niektórych z tych zasobów może zająć trochę czasu, a także usunięcie.

az group delete --name $resourceGroup

Przykładowa dokumentacja

Ten skrypt używa poleceń opisanych w poniższej tabeli:

Polecenie Uwagi
az group create Tworzy grupę zasobów, w której są przechowywane wszystkie zasoby.
az mysql server create Tworzy serwer MySQL hostujący bazy danych.
az mysql server restore Przywraca serwer z kopii zapasowej.
az group delete Usuwa grupę zasobów wraz ze wszystkimi zagnieżdżonymi zasobami.

Następne kroki