Поделиться через


Перезапуск и остановка и запуск База данных Azure для MySQL — гибкий экземпляр сервера с помощью Azure CLI

Этот пример сценария CLI выполняет операции перезапуска, запуска и остановки Базы данных Azure для MySQL — гибкий сервер.

Внимание

При остановке сервер остается в этом состоянии в течение следующих 30 дней. Если сервер не запустить вручную за этот период, то он будет автоматически запущен через 30 дней. Вы можете снова остановить сервер, если не используете его.

Пока сервер остановлен, управлять им невозможно. Чтобы изменить параметры конфигурации на сервере, необходимо запустить сервер.

Кроме того, перед выполнением операций остановки или запуска ознакомьтесь с ограничениями касательно остановки или запуска.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу. В настоящее время с бесплатной учетной записью Azure можно попробовать База данных Azure для MySQL — гибкий сервер бесплатно в течение 12 месяцев. Дополнительные сведения см. в статье "Использование бесплатной учетной записи Azure", чтобы бесплатно попробовать База данных Azure для MySQL — гибкий сервер.

Необходимые компоненты

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Пример скрипта

Запуск Azure Cloud Shell

Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.

Чтобы открыть Cloud Shell, просто выберите Попробовать в правом верхнем углу блока кода. Cloud Shell можно также запустить в отдельной вкладке браузера, перейдя на страницу https://shell.azure.com.

Когда откроется Cloud Shell, убедитесь, что для вашей среды выбран вариант Bash. В последующих сеансах в среде Bash будет использоваться Azure CLI. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу ВВОД, чтобы выполнить его.

Вход в Azure

Проверка подлинности Cloud Shell автоматически производится с данными той учетной записи, с которой был осуществлен вход. Используйте следующий сценарий для входа с помощью другой подписки, заменив subscriptionId идентификатором подписки Azure.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

subscription="subscriptionId" # Set Azure subscription ID here

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

Дополнительные сведения см. в интерактивном режиме для задания активной подписки или входа.

Выполнение скрипта

# Create a server, perform restart / start / stop operations

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-mysql-rg-$randomIdentifier"
tag="restart-start-stop-mysql"
server="msdocs-mysql-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
echo "Creating $server"
az mysql flexible-server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password --public-access $ipAddress

# Optional: Add firewall rule to connect from all Azure services
# To limit to a specific IP address or address range, change start-ip-address and end-ip-address
echo "Adding firewall for IP address range"
az mysql flexible-server firewall-rule create --name $server --resource-group $resourceGroup --rule-name AllowAzureIPs --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0

# Stop the running server
echo "Stopping $server"
az mysql flexible-server stop --resource-group $resourceGroup --name $server

# Start the stopped server
echo "Starting $server"
az mysql flexible-server start --resource-group $resourceGroup --name $server

# Restart the server
echo "Restarting $server"
az mysql flexible-server restart --resource-group $resourceGroup --name $server

Очистка ресурсов

Если вам больше не нужны определенные ресурсы, вы можете удалить их и соответствующую группу ресурсов с помощью команды az group delete. Как создание, так и удаление определенных ресурсов может занять некоторое время.

az group delete --name $resourceGroup

Примеры

Этот скрипт использует следующие команды. Для каждой команды в таблице приведены ссылки на соответствующую документацию.

Command Примечания
az group create Создает группу ресурсов, в которой хранятся все ресурсы.
az mysql flexible-server create Создает гибкий сервер, на котором размещены базы данных.
az mysql flexible-server stop Останавливает гибкий сервер.
az mysql flexible-server start Запускает гибкий сервер.
az mysql flexible-server restart Перезапускает гибкий сервер.
az mysql flexible-server delete Удаляет гибкий сервер.
az group delete Удаляет группу ресурсов со всеми вложенными ресурсами.