mysql MySQL flexible serverAzure Database for MySQL flexible server (<name>.mysql.database.azure.com).
| CAF abbreviation | mysql |
| Resource type | Microsoft.DBforMySQL/flexibleServers |
| Length | 3–63 characters |
| Case | Lowercase only |
| Allowed characters | Lowercase letters, numbers, and hyphens. Can't start or end with a hyphen. |
| Uniqueness | Global |
| Separator | Hyphen |
Source: Microsoft Learn, “Naming rules and restrictions for Azure resources”, checked October 2026. Abbreviation from the Cloud Adoption Framework.
A worked name for workload app, env prod, region weu, instance 001.
mysql-app-prod-weu-001
Valid
^(?=.{3,63}$)[a-z0-9][a-z0-9-]*[a-z0-9]$
var name = take(toLower('mysql-${workload}-${env}-${region}-${instance}'), 63)
locals {
name = substr(lower(join("-", compact(["mysql", var.workload, var.env, var.region, var.instance]))), 0, 63)
}
Azure Policy can't evaluate regular expressions, so a policy can check the mysql prefix but not the full format. Run the regex in your pipeline, or audit existing names on a schedule.
Globally unique across all of Azure — the name backs a public DNS label, so a clash with any other tenant's resource fails the deployment. Build in enough entropy (org/region/instance) to avoid collisions.
Open in the name generator