Point-in-time restore in Azure Database for MySQL - Flexible Server with Azure CLI

APPLIES TO: Azure Database for MySQL - Flexible Server

This article provides step-by-step procedure to perform point-in-time recoveries in Azure Database for MySQL flexible server using backups.

Prerequisites

  • An Azure account with an active subscription.

    If you don't have an Azure subscription, create an Azure trial account before you begin.

  • Install or upgrade Azure CLI to the latest version. See Install Azure CLI.

  • Login to Azure account using az login command. Note the id property, which refers to Subscription ID for your Azure account.

    az login
    
  • If you have multiple subscriptions, choose the appropriate subscription in which you want to create the server using the az account set command. `

    az account set --subscription <subscription id>
    
  • Create an Azure Database for MySQL flexible server instance if you haven't already created one by using the az mysql flexible-server create command.

    az mysql flexible-server create --resource-group myresourcegroup --name myservername --location chinaeast2
    

Restore a server from backup to a new server

You can run the following command to restore a server to an earliest existing backup.

Usage

az mysql flexible-server restore --restore-time
                                 --source-server
                                 [--ids]
                                 [--location]
                                 [--name]
                                 [--no-wait]
                                 [--resource-group]
                                 [--subscription]

Example: Restore a server from this 2021-03-03T13:10:00Z backup snapshot.

az mysql flexible-server restore \
--name mydemoserver-restored \
--resource-group myresourcegroup \
--restore-time "2021-03-03T13:10:00Z" \
--source-server mydemoserver

Time taken to restore will depend on the size of the data stored in the server.

Geo-Restore a server from geo-backup to a new server

You can run the following command to geo-restore a server to the most recent backup available.

Usage

az mysql flexible-server geo-restore --source-server
                                 --location
                                 [--name]
                                 [--no-wait]
                                 [--resource-group]
                                 [--subscription]

Example: Geo-restore 'mydemoserver' in region China East 2 to a new server 'mydemoserver-restored' in it's geo-paired location China North 2 with the same network setting.

az mysql flexible-server geo-restore \
--name mydemoserver-restored \
--resource-group myresourcegroup \
--location "China North 2" \
--source-server mydemoserver

Perform post-restore tasks

After the restore is completed, you should perform the following tasks to get your users and applications back up and running:

  • If the new server is meant to replace the original server, redirect clients and client applications to the new server.
  • Ensure appropriate VNet rules are in place for users to connect. These rules are not copied over from the original server.
  • Ensure appropriate logins and database level permissions are in place.
  • Configure alerts as appropriate for the newly restore server.

Next steps

Learn more about business continuity