Limitations in Azure Database for MySQL - Flexible Server

APPLIES TO: Azure Database for MySQL - Flexible Server

This article describes limitations in the Azure Database for MySQL Flexible Server service. General limitations in the MySQL database engine are also applicable. If you'd like to learn about resource limitations (compute, memory, storage), see the compute and storage article.

Server parameters

Note

If you are looking for min/max values for server parameters like max_connections and innodb_buffer_pool_size, this information has moved to the server parameters concepts server parameters article.

Azure Database for MySQL supports tuning the values of server parameters. The min and max value of some parameters (ex. max_connections, join_buffer_size, query_cache_size) is determined by the compute tier and compute size of the server. Refer to server parameters for more information about these limits.

Storage engines

MySQL supports many storage engines. On Azure Database for MySQL Flexible Server, the following is the list of supported and unsupported storage engines:

Supported

Unsupported

Privileges & data manipulation support

Many server parameters and settings can inadvertently degrade server performance or negate ACID properties of the MySQL server. To maintain the service integrity and SLA at a product level, this service does not expose multiple roles.

The MySQL service does not allow direct access to the underlying file system. Some data manipulation commands are not supported.

Unsupported

The following are unsupported:

  • DBA role: Restricted. Alternatively, you can use the administrator user (created during new server creation), allows you to perform most of DDL and DML statements.
  • SUPER privilege: Similarly, SUPER privilege is restricted.
  • DEFINER: Requires super privileges to create and is restricted. If importing data using a backup, remove the CREATE DEFINER commands manually or by using the --skip-definer command when performing a mysqldump.
  • System databases: The mysql system database is read-only and used to support various PaaS functionality. You cannot make changes to the mysql system database.
  • SELECT ... INTO OUTFILE: Not supported in the service.

Supported

  • LOAD DATA INFILE is supported, but the [LOCAL] parameter must be specified and directed to a UNC path (Azure storage mounted through SMB). Additionally, if you are using MySQL client version >= 8.0 you need to include -–local-infile=1 parameter in your connection string.

Functional limitations

Zone redundant HA

  • This configuration can only be set during server create.
  • Not supported in Burstable compute tier.

Networking

  • Connectivity method cannot be changed after creating the server. If the server is created with Private access (VNet Integration), it cannot be changed to Public access (allowed IP addresses) after create, and vice versa

Stop/start operation

  • Not supported with read replica configurations (both source and replicas).

Scale operations

  • Decreasing server storage provisioned is not supported.

Read replicas

  • Not supported with zone redundant HA configurations (both primary and standby).

Server version upgrades

  • Automated migration between major database engine versions is not supported. If you would like to upgrade the major version, take a dump and restore it to a server that was created with the new engine version.

Restoring a server

  • With point-in-time restore, new servers are created with the same compute and storage configurations as the source server it is based on. The newly restored server's compute can be scaled down after the server is created.
  • Restoring a deleted server isn't supported.

Features available in Single Server but not yet supported in Flexible Server

Not all features available in Azure Database for MySQL - Single Server is available in Flexible Server yet. For complete list of feature comparison between single server and flexible server, refer choosing the right MySQL Server option in Azure documentation.

Next steps