Direct answer: at the Azure Retail Prices API on 9 November 2026 (eastus, USD, excluding tax/discounts), Azure Database for MySQL Flexible Server bills compute-hour + storage + backup/IOPS: Burstable B1ms $0.017/hour ($12.41/month), B2s $0.068 ($49.64), B2ms $0.136 ($99.28); General Purpose $0.0855/vCore-hour ($62.42/vCore-month), Memory Optimized $0.1181 ($86.21/vCore-month). Storage is $0.115/GB-month (LRS), $0.23 (ZRS); backup above 100% of provisioned storage is $0.095/GB-month; additional IOPS is $0.05/IOPS-month. Examples: GP 2 vCore + 128 GB = $139.55/month; MO 2 vCore + 128 GB = $187.15; GP 2 vCore zone-redundant HA + 128 GB ZRS = $279.10; a read replica is another server, +$139.55. One-year reservations save 40% and three-year 60% of compute; a stopped instance bills storage only and auto-starts after 30 days; new customers get a 12-month free tier (limited resources).
This guide is for architects, DBAs, platform/SRE, finance and procurement teams choosing MySQL for web/mini-program/ERP/MES workloads, or comparing Burstable/General Purpose/Memory Optimized, HA, read replicas and reservations. It explains the three compute tiers, 1/2/4-vCore TCO, HA and read replicas, storage/IOPS/backup, reservations, stop/start and a 90-day checklist. Prices come from the Azure Database for MySQL pricing page, the Azure Retail Prices API and Microsoft Learn (eastus, 9 November 2026). Official price facts, editorial calculations and exclusions are kept separate. This is not procurement advice.
(1) Burstable is cheap but uses CPU credits: B1ms is $12.41/month, and sustained saturation depletes credits; use GP for balanced production (4 GB/vCore) and MO for memory-heavy workloads (8 GB/vCore). (2) HA pays for primary+standby compute and storage; a read replica is another independent server billed at the same compute+storage. (3) Storage is 20 GiB–16/32 TiB and can only scale up; backup is free up to 100% of provisioned storage; stopping saves compute only and auto-starts after 30 days.
Three compute tiers: Burstable / GP / MO
MySQL Flexible Server has Burstable (B-series, CPU credits), General Purpose (Dadsv5/Ddsv4, 4 GiB/vCore) and Memory Optimized (Eadsv5/Edsv4, 8 GiB/vCore). Burstable is priced per instance (B1ms $12.41/month, B2s $49.64, B2ms $99.28); GP/MO are priced per vCore-hour ($62.42/$86.21 per vCore-month). Choose by "steady CPU vs burst" and memory/vCore ratio, not monthly price alone.
| Tier | Instance | vCore/RAM | PAYG/hour | PAYG/month |
|---|---|---|---|---|
| Burstable | B1ms | 1 / 2 GB | 0.017 | 12.41 |
| Burstable | B2s | 2 / 4 GB | 0.068 | 49.64 |
| Burstable | B2ms | 2 / 8 GB | 0.136 | 99.28 |
| Burstable | B4ms | 4 / 16 GB | 0.272 | 198.56 |
| Burstable | B8ms | 8 / 32 GB | 0.544 | 397.12 |
| General Purpose | Per vCore | 4 GB/vCore | 0.0855 | 62.42 |
| Memory Optimized | Per vCore | 8 GB/vCore | 0.1181 | 86.21 |
Sources: Azure Retail Prices API (eastus, 9 November 2026) and the MySQL Flexible Server pricing page; monthly = hourly × 730. Burstable uses CPU credits and slows when sustained; GP/MO bill per vCore (Dadsv5/Ddsv4/Eadsv5/Edsv4).
1/2/4-vCore TCO: compute + storage
At LRS, no HA/backup: B1ms + 20 GB = $14.71/month; B2s + 20 GB = $51.94; B2ms + 50 GB = $105.03; GP 2 vCore + 128 GB = $139.55; GP 4 vCore + 256 GB = $279.10; MO 2 vCore + 128 GB = $187.15; MO 4 vCore + 256 GB = $374.29. Storage at $0.115/GB-month: 20 GB is $2.30/month, 128 GB $14.72, 256 GB $29.44—storage is rarely the biggest line for small databases; compute is.
| Configuration | Compute/month | Storage/month | Total/month |
|---|---|---|---|
| B1ms + 20 GB | 12.41 | 2.30 | 14.71 |
| B2s + 20 GB | 49.64 | 2.30 | 51.94 |
| B2ms + 50 GB | 99.28 | 5.75 | 105.03 |
| GP 2 vCore + 128 GB | 124.83 | 14.72 | 139.55 |
| GP 4 vCore + 256 GB | 249.66 | 29.44 | 279.10 |
| MO 2 vCore + 128 GB | 172.43 | 14.72 | 187.15 |
| MO 4 vCore + 256 GB | 344.85 | 29.44 | 374.29 |
Editorial calculation: 730 hours/month; LRS $0.115/GB-month; excludes HA, read replicas, backup excess, extra IOPS, networking, tax and discounts.
HA and read replicas: compute paid twice
HA automatically provisions primary+standby and bills compute/storage twice: zone-redundant HA uses ZRS storage ($0.23/GB-month), local-redundant HA uses LRS. Example: GP 2 vCore + 128 GB HA = $279.10/month (2×124.83 + 128×0.23); MO 2 vCore + 128 GB HA = $374.30. A read replica is a separate server, billed at the same compute+storage again; GP 2 vCore + 128 GB replica = +$139.55. Read replicas support GP/MO only; Burstable cannot be a source.
| Topology | Compute/month | Storage/month | Total/month |
|---|---|---|---|
| Single GP 2 vCore + 128 GB (LRS) | 124.83 | 14.72 | 139.55 |
| GP 2 vCore + 128 GB HA (ZRS) | 249.66 | 29.44 | 279.10 |
| MO 2 vCore + 128 GB HA (ZRS) | 344.86 | 29.44 | 374.30 |
| GP 2 vCore + 128 GB read replica (extra) | 124.83 | 14.72 | 139.55 |
| HA + read replica (GP 2 vCore) | 374.49 | 44.16 | 418.65 |
Editorial calculation: HA = primary+standby compute; ZR HA uses ZRS $0.23/GB-month; a read replica is an independent server at the same configuration. Excludes cross-region network/egress, backup, tax and discounts.
Storage, IOPS and backup
Storage is 20 GiB–16 TiB (MO up to 32 TiB), in 1 GiB steps and scale-up only; LRS $0.115, ZRS $0.23/GB-month. IOPS starts at 360, with the maximum set by compute; additional IOPS is $0.05/IOPS-month, or pay per IO (LRS $0.2/million, ZRS $0.25/million). Backup is free up to 100% of provisioned storage, then $0.095/GB-month; retention is 1–35 days. Accelerated logs are free on MO, billed on GP, and unavailable on Burstable.
| Item | Price/rule | Note |
|---|---|---|
| Storage LRS | $0.115/GB-month | 20 GiB–16/32 TiB, 1 GiB steps |
| Storage ZRS | $0.23/GB-month | Used by ZR HA |
| Backup | Free to 100% of provisioned storage; excess $0.095/GB-month | Retention 1–35 days |
| Additional IOPS | $0.05/IOPS-month | Minimum 360, max by compute |
| Paid IO LRS | $0.2/million IO | Actual usage |
| Paid IO ZRS | $0.25/million IO | Actual usage |
| SSD v2 | $0.115/GiB + $0.02/IOPS + $0.08/MBps | Advanced storage option |
| Accelerated logs | MO free; GP billed; Burstable unavailable | Per compute hour |
Sources: Azure Retail Prices API and MySQL Flexible Server pricing page (eastus, 9 November 2026). Storage scales up only; backup charges start above 100% of provisioned storage; IOPS max follows compute.
Reservations: 40% off one year, 60% off three years (compute)
MySQL reservations are bought per vCore: GP one year $449/vCore, three years $899; MO one year $621/vCore, three years $1,241. Against PAYG annual (GP $748.98, MO $1,034.56), one year is about 40% off and three years about 60% off. Storage is not reserved, so 2 vCore GP + 128 GB totals: PAYG $139.55, one year $89.55, three years $64.66; MO 2 vCore + 128 GB: PAYG $187.15, one year $118.22, three years $83.66.
| Tier | PAYG annual/vCore | 1-year/vCore | 1-year saving | 3-year/vCore | 3-year saving |
|---|---|---|---|---|---|
| General Purpose | 748.98 | 449 | 40.1% | 899 | 60.0% |
| Memory Optimized | 1,034.56 | 621 | 40.0% | 1,241 | 60.0% |
Sources: 1/3-year Reservation meters in the Azure Retail Prices API (eastus, 9 November 2026); annual = hourly × 8,760; three-year saving compares total ÷3 with PAYG annual. Storage is not reserved; scope/exchange rules follow Azure Reservations.
How to choose: Burstable/GP/MO, HA, replica and stop
Choose by workload: Burstable for dev/test, low load and intermittent traffic (B1ms $12.41/month, but CPU credits run out); GP for balanced production (4 GB/vCore); MO for memory-heavy/high-concurrency workloads (8 GB/vCore). Enable HA for SLA/automatic failover (compute+storage doubled); use a read replica for read scale-out (another server); use stop/start for non-production (storage only, auto-start after 30 days); use reservations for stable one-/three-year baselines.
| Scenario | Prefer | Check first |
|---|---|---|
| Dev/test/low load/intermittent | Burstable B1ms/B2s | CPU credits, connection count |
| Balanced production | GP 2/4 vCore | 4 GB/vCore, IOPS cap |
| Memory-heavy/high concurrency | MO 2/4 vCore | 8 GB/vCore, accelerated logs |
| HA/automatic failover | ZR or LR HA | Compute+storage doubled |
| Read scale-out | Read replica | Another server, GP/MO |
| Non-production/intermittent | Stop/start | Storage only, auto-start at 30 days |
| Stable 1/3 years | Reserved | 40%/60% compute discount |
| 12-month trial | Free tier | Limited resources/regions |
Editorial selection framework, not a vendor recommendation; features/regions/quota follow official docs.
Hidden costs and 90-day checklist
Seven extra costs: HA double compute/storage, read replica, backup above 100%, additional IOPS/paid IO, accelerated logs (billed on GP), Reader Endpoint, Defender for MySQL $15/node-month, plus cross-region network/egress. 90 days: weeks 1–2 inventory vCore/memory/storage/IOPS/connections/peak CPU; weeks 2–4 choose Burstable/GP/MO; weeks 4–6 evaluate HA and read replicas; weeks 6–8 review storage/backup/IOPS bills; weeks 8–10 evaluate one-/three-year reservations; weeks 10–12 test stop/start, load-test and review cost.
FAQ
How is Azure Database for MySQL billed?
By compute-hour + storage + backup/IOPS: Burstable B1ms $0.017/hour ($12.41/month), B2s $0.068, B2ms $0.136; GP $0.0855/vCore-hour ($62.42/vCore-month), MO $0.1181 ($86.21); storage $0.115/GB-month LRS, $0.23 ZRS; backup above 100% $0.095/GB-month; additional IOPS $0.05/IOPS-month.
How do I choose Burstable, GP or MO?
Burstable for dev/test, low load or intermittent traffic (CPU credits; sustained saturation slows); GP for balanced production (4 GB/vCore); MO for memory-heavy/high concurrency (8 GB/vCore). Check steady CPU and memory/vCore ratio, not monthly price alone.
How much is 2 vCore per month?
GP 2 vCore + 128 GB = $139.55/month (compute 124.83 + storage 14.72); MO 2 vCore + 128 GB = $187.15. HA doubles: GP 2 vCore + 128 GB ZRS = $279.10; a read replica adds $139.55. Excludes backup/IOPS/network/tax.
How much does HA add?
HA pays primary+standby compute and storage: GP 2 vCore + 128 GB HA = $279.10 (ZRS), about 2× the single-instance $139.55; MO 2 vCore HA = $374.30. Enable only when SLA/automatic failover is required; non-production can skip it.
How are read replicas billed?
A read replica is another independent MySQL Flexible Server, billed at the same compute+storage: GP 2 vCore + 128 GB replica = +$139.55/month. Only GP/MO support replicas; Burstable cannot be a source; cross-region replication adds network/egress.
How are storage, IOPS and backup charged?
Storage $0.115/GB-month LRS, $0.23 ZRS, 20 GiB–16/32 TiB, scale-up only; IOPS starts at 360 with max by compute, additional $0.05/IOPS-month; backup free to 100% of provisioned storage, excess $0.095/GB-month, retention 1–35 days.
Does stopping an instance save money?
Yes, compute stops and only storage plus backup above 100% bills; after 30 days the system auto-starts and billing resumes. Suits non-production/intermittent workloads; do not rely on stop/start for production.
How much do reservations save?
About 40% of compute for one year and 60% for three: GP $449/$899 per vCore, MO $621/$1,241. For 2 vCore GP + 128 GB: PAYG $139.55, one year $89.55, three years $64.66; storage is not reserved.
Research method and limitations
This article separates "official price facts" from "editorial calculations": B1ms $0.017, B2s $0.068, B2ms $0.136, B4ms $0.272, B8ms $0.544, GP $0.0855/vCore-hour, MO $0.1181, storage $0.115/$0.23, backup $0.095, additional IOPS $0.05, paid IO $0.2/$0.25, SSD v2 $0.115/$0.02/$0.08, GP reservations $449/$899 and MO $621/$1,241 come from the Azure Retail Prices API (eastus, 9 November 2026); the three tiers, vCore/memory, storage range, IOPS, HA doubling, independent replica billing, stop storage-only and backup 100% free come from the MySQL Flexible Server pricing page and Microsoft Learn (tiers, HA, read replicas, stop/start).
Eight limitations: (1) only eastus list prices, excluding tax/CSP/enterprise discounts; (2) 730-hour months; (3) the main TCO excludes HA, read replicas, backup excess, extra IOPS, networking and tax; (4) reservations are converted linearly per vCore, and scope/exchange rules follow Azure Reservations; (5) no real CPU/IO/connection benchmark; (6) Burstable credits/accelerated logs/Reader Endpoint/Defender are not fully modelled; (7) SKU availability/regions/versions vary; (8) prices/features change, so recheck official pages and bills before purchase.
Sources and basis
- Microsoft Azure, Azure Database for MySQL Pricing: azure.microsoft.com/en-us/pricing/details/mysql/flexible-server. Burstable/GP/MO, storage, backup, IOPS, reservations, stop/start. Accessed 9 November 2026.
- Azure Retail Prices API (productName contains MySQL, eastus): prices.azure.com/api/retail/prices. $0.017/$0.068/$0.136/$0.272/$0.544, $0.0855, $0.1181, $0.115/$0.23, $0.095, $0.05, $449/$899, $621/$1,241. Accessed 9 November 2026.
- Microsoft Learn, MySQL Flexible Server service tiers: learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-service-tiers-storage. Three tiers, vCore/memory, storage range, IOPS. Accessed 9 November 2026.
- Microsoft Learn, High availability: learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-high-availability. Primary+standby double billing, ZR/LR HA. Accessed 9 November 2026.
- Microsoft Learn, Read replicas / Stop/start: concepts-read-replicas, how-to-stop-start-server-portal. Independent replica billing, storage-only stop/30-day auto-start. Accessed 9 November 2026.
Data cut-off 9 November 2026; prices/availability follow Microsoft official pages and bills; this is not procurement, commercial or legal advice.