Events
Mar 31, 11 p.m. - Apr 2, 11 p.m.
The ultimate Microsoft Fabric, Power BI, SQL, and AI community-led event. March 31 to April 2, 2025.
Register todayThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
This article provides an overview and introduction to the core concepts of the Flexible Server deployment model. For information on the appropriate deployment option for your workload, see Choose the right MySQL Server option in Azure.
Azure Database for MySQL - Flexible Server is a fully managed, production-ready relational database service in the Microsoft Cloud. It's based on the MySQL Community Edition (available under the GPLv2 license) database engine, versions 5.6 (retired), 5.7, and 8.0. The service gives you granular control and flexibility over database management functions and configuration settings. It's generally available in various Azure regions.
Azure Database for MySQL - Flexible Server delivers:
These capabilities require no extra cost and almost no administration. They allow you to focus on rapid app development and accelerate your time to market rather than allocating time and resources to managing virtual machines and infrastructure. In addition, you can continue to develop your application with the open-source tools and platform of your choice to deliver the speed and efficiency that your business demands without learning new skills.
Azure Database for MySQL - Flexible Server also supports reserved instances. If your production workloads have predictable compute capacity requirements, using reserved instances can help you save costs.
For the latest updates on Azure Database for MySQL - Flexible Server, refer to What's new in Azure Database for MySQL.
The Flexible Server deployment option offers three compute tiers have different compute and memory capacities to support your database workloads:
You can build your first app on a Burstable tier at a low cost and then adjust the scale to meet the needs of your solution. For details, see Azure Database for MySQL - Flexible Server service tiers.
When you use a Flexible Server architecture, you can opt for high availability within a single availability zone or across multiple availability zones. Flexible servers are best suited for:
With an Azure free account, you can use Azure Database for MySQL - Flexible Server for free for 12 months. The offer includes monthly limits of up to:
You can use this offer to develop and deploy Azure database applications for flexible servers. To learn how to create and use Azure Database for MySQL - Flexible Server instances for free by using an Azure free account, refer to this tutorial.
Azure Database for MySQL - Flexible Server allows configuring high availability with automatic failover. The high-availability solution helps ensure that committed data isn't lost due to failures, and it helps improve overall uptime for your application.
When you configure high availability, a flexible server automatically provisions and manages a standby replica. You're billed for the provisioned compute and storage for the primary and secondary replica.
There are two high-availability architectural models:
Zone-redundant high availability: This option offers complete isolation and requires you to configure infrastructure redundancy across multiple availability zones. It provides the highest level of availability against any infrastructure failure in an availability zone and where latency across availability zones is acceptable.
Zone-redundant HA is available in a subset of Azure regions that support multiple availability zones and zone-redundant premium file shares.
Same-zone high availability: This option offers infrastructure redundancy with lower network latency because both primary and standby servers are in the same availability zone. It provides high availability without requiring you to configure application redundancy across zones.
Same-zone HA is available in all Azure regions where you can create Azure Database for MySQL - Flexible Server instances.
For more information, see High availability concepts in Azure Database for MySQL - Flexible Server.
The service performs automated patching of the underlying hardware, operating system, and database engine. The patching includes security and software updates. For the MySQL engine, the planned maintenance release also includes minor version upgrades.
You can configure the patching schedule to be system managed or define your own custom schedule. During the maintenance schedule, the patch is applied, and the server might require a restart. With a custom schedule, you can make your patching cycle predictable and choose a maintenance window that has a minimum impact on the business. The service follows a monthly release schedule for continuous integration and release.
For more information, see Scheduled maintenance in Azure Database for MySQL - Flexible Server.
The Azure Database for MySQL - Flexible Server service automatically creates server backups and stores them in user-configured locally redundant or geo-redundant storage. You can use backups to restore your server to any point in time within the backup retention period.
You can configure a retention period of 1 to 35 days. The default is seven days. All backups are encrypted through AES 256-bit encryption.
For more information, see Backup and restore in Azure Database for MySQL - Flexible Server.
To connect to Azure Database for MySQL - Flexible Server, you have two networking options:
Private access (virtual network integration): You can deploy your Azure Database for MySQL - Flexible Server instance into an Azure virtual network. Resources in a virtual network can communicate through private IP addresses.
Choose virtual network integration if you want the following capabilities:
Public access (allowed IP addresses): You can deploy your Azure Database for MySQL - Flexible Server instance with a public endpoint. The public endpoint is a publicly resolvable DNS address. You choose a range of IP addresses to give permission to access your server. These types of permissions are called firewall rules.
For more information, see Connectivity and networking concepts for Azure Database for MySQL - Flexible Server.
You can build your first app on a small database for a few dollars a month and then seamlessly adjust the scale to meet the needs of your solution. The storage scaling is online and supports the storage autogrow feature of Azure Database for MySQL - Flexible Server.
With Azure Database for MySQL - Flexible Server, you can provision additional input/output operations per second (IOPS) above the complimentary IOPS limit independent of storage. By using this feature, you can increase or decrease the amount of provisioned IOPS based on your workload requirements at any time. Dynamic scalability enables your database to respond to rapidly changing resource requirements transparently. You pay for only the resources that you consume.
For more information, see Azure Database for MySQL - Flexible Server service tiers.
MySQL is a popular database engine for running internet-scale web and mobile applications. Microsoft customers use it for online education, video streaming, digital payment solutions, e-commerce platforms, gaming services, news portals, and government and healthcare websites. These services are required to serve and scale as the web or mobile application's traffic increases.
The application is typically developed in Java or PHP and is either:
Using a virtual machine scale set with App Service or AKS as the underlying infrastructure simplifies application scaling by instantaneously provisioning new virtual machines and replicating the stateless components of applications to cater to the requests. But often, the database ends up being a bottleneck as a centralized stateful component.
The read replica feature allows you to replicate data from an Azure Database for MySQL - Flexible Server instance to a read-only server. You can replicate from the source server to up to 10 replicas.
Replicas are updated asynchronously via the MySQL engine's native binary log (binlog) file position-based replication technology. You can use a load-balancer proxy solution like ProxySQL to seamlessly scale out your application workload to read replicas without any application refactoring cost.
For more information, see Read replicas in Azure Database for MySQL - Flexible Server.
You can use the data-in replication feature to synchronize data from an external MySQL server into Azure Database for MySQL - Flexible Server. The external server can be on-premises, in virtual machines, in Azure Database for MySQL - Single Server, or in a database service hosted by other cloud providers.
Data-in replication is position-based on the binlog file. The main scenarios to consider about using the feature are:
For more information, see Replicate data into Azure Database for MySQL - Flexible Server.
With Azure Database for MySQL - Flexible Server, you can stop and start servers on demand to optimize costs. The compute tier billing stops immediately when the server is stopped. This functionality can help you save costs during development, testing, and time-bound predictable production workloads. The server remains in the stopped state for 30 days unless you restart it sooner.
For more information, see Server concepts in Azure Database for MySQL - Flexible Server.
Azure Database for MySQL - Flexible Server uses the FIPS 140-2 validated cryptographic module for storage encryption of data at rest. Data (including backups) and temporary files created while you run queries are encrypted.
The service uses the AES 256-bit cipher included in Azure storage encryption, and the keys can be system managed (default). You can also use customer-managed keys stored in an Azure key vault or a managed hardware security module for data encryption at rest. For more information, see Data encryption with customer managed keys for Azure Database for MySQL - Flexible Server.
Azure Database for MySQL - Flexible Server encrypts data in motion with Transport Layer Security (TLS) enforced by default. Azure Database for MySQL - Flexible Server supports encrypted connections that use TLS 1.2. All incoming connections that use TLS 1.0 and TLS 1.1 are denied. You can turn off TLS enforcement by setting the require_secure_transport
server parameter and then setting the minimum tls_version
value for your server. For more information, see Connect to Azure Database for MySQL - Flexible Server with encrypted connections.
Azure Database for MySQL - Flexible Server allows full private access to the servers through virtual network integration. Servers in a virtual network can be reached and connected only through private IP addresses. With virtual network integration, public access is denied and servers can't be reached through public endpoints. For more information, see Connectivity and networking concepts for Azure Database for MySQL - Flexible Server.
Azure Database for MySQL - Flexible Server has built-in performance monitoring and alerting features. All Azure metrics have a one-minute frequency. Each metric provides 30 days of history.
You can configure alerts on the metrics. Azure Database for MySQL - Flexible Server exposes host server metrics to monitor resource utilization and allows configuring slow query logs. By using these tools, you can quickly optimize your workloads and configure your server for the best performance.
In Azure Database for MySQL - Flexible Server, you can visualize slow query and audit log data by using Azure Monitor workbooks. With workbooks, you get a flexible canvas for analyzing data and creating rich visual reports within the Azure portal. Azure Database for MySQL - Flexible Server provides three workbook templates: Server Overview, Tutorial: Configure audit logs by using Azure Database for MySQL - Flexible Server, and Tutorial: Query Performance Insight for Azure Database for MySQL - Flexible Server.
The Query Performance Insight workbook helps you spend less time troubleshooting database performance by providing such information as:
In addition, you can use community monitoring tools like Percona Monitoring and Management and integrate them with Azure Database for MySQL - Flexible Server.
For more information, see Monitor Azure Database for MySQL - Flexible Server.
Azure Database for MySQL - Flexible Server runs the community version of MySQL. This design allows full application compatibility and requires minimal refactoring costs to migrate existing applications developed on the MySQL engine to Azure Database for MySQL - Flexible Server. You can migrate to Azure Database for MySQL - Flexible Server by using the following options.
Use Azure Database Migration Service when network bandwidth between the source and Azure is good (for example: a high-speed ExpressRoute connection). For step-by-step instructions, see Tutorial: Migrate MySQL to Azure Database for MySQL offline using DMS.
Use mydumper and myloader to use compression settings to efficiently move data over low-speed networks (such as the public internet). For step-by-step instructions, see Migrate large databases to Azure Database for MySQL using mydumper/myloader.
Use data-in replication with mydumper/myloader-consistent backup and restore for initial seeding. For step-by-step instructions, see Migrate Azure Database for MySQL - Single Server to Azure Database for MySQL - Flexible Server with open-source tools.
To migrate from Azure Database for MySQL - Single Server to Azure Database for MySQL - Flexible Server in five easy steps, refer to this blog.
For more information, see Select the right tools for migration to Azure Database for MySQL.
One advantage of running your workload in Azure is its global reach. Azure Database for MySQL - Flexible Server is currently available in the following Azure regions:
Region | Availability | Same-zone HA | Zone-redundant HA | Geo-redundant backup |
---|---|---|---|---|
Australia Central | Yes | Yes | No | No |
Australia East | Yes | Yes | Yes | Yes |
Australia Southeast | Yes | Yes | No | Yes |
Brazil South | Yes | Yes | Yes | Yes |
Canada Central | Yes | Yes | Yes | Yes |
Canada East | Yes | Yes | No | Yes |
Central India | Yes | Yes | Yes | Yes |
Central US | Yes | Yes | Yes | Yes |
China East 2 | Yes | Yes | No | Yes |
China East 3 | Yes | Yes | No | Yes |
China North 2 | Yes | Yes | No | Yes |
China North 3 | Yes | Yes | Yes | Yes |
East Asia (Hong Kong SAR) | Yes | Yes | Yes | Yes |
East US | Yes | Yes | Yes | Yes |
East US 2 | Yes | Yes | Yes | Yes |
France Central | Yes | Yes | Yes | Yes |
France South | Yes | Yes | No | Yes |
Germany West Central | Yes | Yes | Yes | Yes |
Germany North | Yes | Yes | No | Yes |
Israel Central | Yes | Yes | Yes | No |
Italy North | Yes | Yes | Yes | No |
Japan East | Yes | Yes | Yes | Yes |
Japan West | Yes | Yes | No | Yes |
Jio India West | Yes | Yes | No | No |
Korea Central | Yes | Yes | Yes | Yes |
Korea South | Yes | Yes | No | Yes |
Mexico Central | Yes | Yes | Yes | Yes |
North Central US | Yes | Yes | No | Yes |
North Europe | Yes | Yes | Yes | Yes |
Norway East | Yes | Yes | Yes | Yes |
Norway West | Yes | Yes | No | No |
Poland Central | Yes | Yes | Yes | No |
Qatar Central | Yes | Yes | Yes | No |
South Africa North | Yes | Yes | Yes | Yes |
South Africa West | Yes | Yes | No | Yes |
South Central US | Yes | Yes | Yes | Yes |
South India | Yes | Yes | No | Yes |
Southeast Asia | Yes | Yes | Yes | Yes |
Spain Central | Yes | Yes | No | Yes |
Sweden Central | Yes | Yes | Yes | No |
Switzerland North | Yes | Yes | Yes | Yes |
Switzerland West | Yes | Yes | No | Yes |
Taiwan North | Yes | Yes | No | No |
Taiwan Northwest | Yes | Yes | No | No |
UAE Central | Yes | Yes | No | Yes |
UAE North | Yes | Yes | Yes | Yes |
UK South | Yes | Yes | Yes | Yes |
UK West | Yes | Yes | No | Yes |
USGov Virginia | Yes | Yes | No | No |
USGov Arizona | Yes | Yes | No | Yes |
USGov Texas | Yes | Yes | No | Yes |
West Central US | Yes | Yes | No | Yes |
West Europe | Yes | Yes | Yes | Yes |
West US | Yes | Yes | No | Yes |
West US 2 | Yes | Yes | Yes | Yes |
West US 3 | Yes | Yes | Yes | Yes |
For any questions or suggestions that you might have about working with Azure Database for MySQL - Flexible Server, consider the following points of contact:
Events
Mar 31, 11 p.m. - Apr 2, 11 p.m.
The ultimate Microsoft Fabric, Power BI, SQL, and AI community-led event. March 31 to April 2, 2025.
Register todayTraining
Module
Implement Azure Database for MySQL Flexible Server features that support mission-critical workloads
Certification
Microsoft Certified: Azure Database Administrator Associate - Certifications
Administer an SQL Server database infrastructure for cloud, on-premises and hybrid relational databases using the Microsoft PaaS relational database offerings.