An Azure managed MySQL database service for app development and deployment.
Use a supported restore method and, because the restore is failing repeatedly and the database is urgently needed, follow a structured approach and then open a support case if it still fails.
- Validate basic restore conditions
- Confirm that the server is Azure Database for MySQL – Flexible Server (not Single Server).
- Ensure the point-in-time you are choosing is within the configured backup retention period.
- If using Fastest Restore Point, select a full backup timestamp that is greater than the earliest restore point for that day; otherwise the restore can fail.
- Restore via Azure portal – point-in-time restore
- In the Azure portal, open the source Azure Database for MySQL – Flexible Server.
- Select Overview > Restore.
- Choose one of:
- Latest restore point to restore to the most recent available time.
- Custom restore point to specify an exact time.
- Fastest Restore Point (Restore using full backup) to restore from a full backup only (fastest, but only to the backup completion time).
- For Fastest Restore Point:
- Select Select fastest restore point (Restore using full backup).
- Pick the desired full backup from Fastest Restore Point (UTC).
- Enter a new server name in Restore to new server.
- Select Review + Create, then Create.
- Wait for the notification that the restore operation has completed.
- Restore from a specific full backup (portal – Backup and Restore) If the point-in-time restore keeps failing, try restoring directly from a full backup:
- In the Azure portal, open the source MySQL Flexible Server.
- Select Backup and Restore.
- On Available Backups, locate the required full automated or on-demand backup within the retention period.
- Select Restore on the chosen backup.
- On the Restore page, the Fastest Restore Point option is preselected with that backup.
- Enter a new server name.
- Select Review + Create, then Create.
- Restore using Azure CLI (point-in-time) If portal restores fail, attempt a CLI restore to see detailed error output:
- Ensure Azure CLI is installed and logged in:
az login az account set --subscription <subscription id> - Run a restore to a new server name and the desired UTC time:
az mysql flexible-server restore \ --name <new-restored-server-name> \ --resource-group <resource-group-name> \ --restore-time "YYYY-MM-DDThh:mm:ssZ" \ --source-server <source-server-name> - Monitor the command output for any explicit error messages (for example, invalid time, outside retention, or missing backups).
- If moving from Public to Private access during restore If the restore is failing while changing networking (for example, to Private access):
- Start from Overview > Restore.
- Choose Geo restore or Point-in-time restore.
- Enter a new server name.
- Go to the Networking tab:
- Set Connectivity method to Private access (VNet Integration).
- Select a virtual network and subnet delegated to
Microsoft.DBforMySQL/flexibleServersin the same region and subscription. - Create or select a Private DNS Zone ending with
mysql.database.azure.com.
- Complete Review + create and then Create.
- If restores continue to fail and the database is urgent
- Because the scenario is urgent and repeated restores are failing, open an Azure support ticket so backend engineers can inspect the backup chain and restore jobs.
- Provide:
- Source server name and region.
- Exact restore time requested.
- Whether using portal, CLI, or Backup vault.
- Any error messages from the portal notifications or CLI output.
- Alternative: restore via Azure Backup vault (if configured) If the server is protected by Azure Backup (preview) for MySQL Flexible Server:
- Go to the Backup vault > Backup instances.
- Select Azure Database for MySQL – Flexible Server (preview) > Restore.
- Choose Select restore point and pick the required point in time (adjust Time period if needed).
- On Restore parameters, select Target Storage account and Target Container, then Validate.
- When validation succeeds, select Restore to recover the backups into the target storage account (from there, import into a new server if needed).
Following these steps isolates whether the failure is due to the chosen time, backup availability, networking configuration, or a platform-side issue that requires Azure Support intervention.
References:
- Point-in-time restore in Azure Database for MySQL with the Azure portal
- Backup and restore in Azure Database for MySQL
- Point-in-time restore in Azure Database for MySQL - Flexible Server with Azure CLI
- Restore an Azure Database for MySQL - Flexible Server instance using Azure CLI
- Restore an Azure Database for MySQL flexible server by using Azure Backup (preview)