This topic describes the limits of ApsaraDB RDS for MySQL. Before you use ApsaraDB RDS for MySQL, we recommend that you understand these limits to ensure the stability and security of your database system.

For more information about the limits of other database engines, see the following topics:

Specification and performance limits

Item Limit Remarks
Storage capacity
  • RDS instances with local SSDs: up to 6,000 GB.
  • RDS instances with standard SSDs: up to 6,000 GB.
  • RDS instances with enhanced SSDs (ESSDs): up to 32,000 GB.
The maximum storage capacity that is allowed for an RDS instance varies based on the instance type. For more information, see Primary ApsaraDB RDS instance types.
Number of connections Up to 100,000. The maximum number of connections that can be established to an RDS instance varies based on the instance type. For more information, see Primary ApsaraDB RDS instance types.
IOPS None.
Memory capacity
  • RDS instances with local SSDs: up to 720 GB.
  • RDS instances with standard SSDs or ESSDs: up to 768 GB.
The memory capacity that is supported by an instance type includes the amount of memory that is occupied by the RDS-related management services, the database service, and the underlying operating system. Therefore, the available memory that you can view may be less than the memory capacity that is supported by the instance type.
The following information provides the amount of memory occupied by different components:
  • Underlying operating system: 500 MB to 700 MB.
  • RDS-related management services: about 500 MB.

Quota limits

Item Limit
Read-only RDS instance
  • If the memory capacity of a primary RDS instance is greater than or equal to 64 GB, up to 10 read-only RDS instances can be created and attached to the primary RDS instance.
  • If the memory capacity of a primary RDS instance is less than 64 GB, up to 5 read-only RDS instances can be created and attached to the primary RDS instance.

For more information about read-only RDS instances, see Overview of read-only ApsaraDB RDS for MySQL instances.

Primary RDS instance A maximum of 30 pay-as-you-go primary RDS instances can be created within each Alibaba Cloud account. You can go to the Quota Center to apply for an increase to the quota for your Alibaba Cloud account.
Tag The key of a tag must be unique. You can add a maximum of 20 tags to an RDS instance. You can add tags to a maximum of 50 RDS instances at a time. For more information, see Add tags to ApsaraDB RDS for MySQL instances.
Free quota for backup storage
  • RDS instances with local SSDs: Free quota for backup storage = 50% × Purchased storage capacity.
  • RDS instances with standard SSDs or ESSDs: Free quota for backup storage = 200% × Purchased storage capacity.

If your backup usage exceeds the free quota, you are charged additional fees. You can calculate your excess backup storage based on the following formula: Excess backup storage usage = Size of data backup files + Size of log backup files - Free quota. Unit: GB. The result is rounded up to the next integer. For more information, see Backup storage pricing for an ApsaraDB RDS for MySQL instance.

Backup retention period The default retention period is 7 days, and the maximum retention period is 730 days. Data backup files that are retained for more than 730 days are archived. Archived backup files cost less than regular backup files. For more information, see Backup storage pricing for an ApsaraDB RDS for MySQL instance.
Log retention period
  • Error logs are retained for 30 days.
  • The details of slow query logs are retained for 7 days.
  • The summary of slow query logs is retained for 7 days
  • Primary/secondary switchover logs are retained for 30 days.
For more information, see View the logs of an ApsaraDB RDS for MySQL instance.

Name limits

Item Limit
Instance name
  • The name of an RDS instance must be 2 to 255 characters in length.
  • The name of an RDS instance can contain letters, digits, underscores (_), and hyphens (-).
  • The name of an RDS instance must start with a letter.
Username
  • For RDS instances that run MySQL 8.0 or MySQL 5.7, the username of an account must be 2 to 32 characters in length. For RDS instances that run MySQL 5.6, the username of an account must be 2 to 16 characters in length.
  • The username of an account can contain lowercase letters, digits, and underscores (_).
  • The username of an account must start with a lowercase letter and end with a lowercase letter or a digit.
  • The username of an account must be unique.
  • The username of an account cannot contain SQL keywords. For more information, see SQL keywords.
Database name
  • The name of a database can contain up to 64 characters in length.
  • The name of a database can contain lowercase letters, digits, underscores (_), and hyphens (-).
  • The name of a database must start with a lowercase letter and end with a lowercase letter or a digit.
  • The name of a database must be unique.
  • The name of a database cannot contain SQL keywords. For more information, see SQL keywords.

Security limits

Item Limit
Password
The password of an account must meet the following requirements:
  • The password must be 8 to 32 characters in length.
  • The password must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The password can contain any of the following special characters:! @ # $ % ^ & * ( ) _ + - =
Port By default, an RDS instance is connected over port 3306. You can change the port number based on your business requirements. For more information, see View and change the internal and public endpoints and port numbers of an ApsaraDB RDS for MySQL instance.
Disk encryption You can enable disk encryption for an RDS instance only when you purchase the instance. Disk encryption cannot be disabled after it is enabled. For more information, see Configure disk encryption for an ApsaraDB RDS for MySQL instance.
Number of security groups
You can configure up to 10 security groups for an RDS instance.
  • After you configure security groups for an RDS instance, the Elastic Compute Service (ECS) instances in the configured security groups can communicate with the RDS instance.
  • The security groups that you configured for an RDS instance must have the same network type as the RDS instance. This means that the network types of the RDS instance and the security groups that you want to configure must both be Virtual Private Cloud (VPC) or classic network.

For more information, see Configure a security group for an ApsaraDB RDS for MySQL instance.

Number of IP address whitelists You can configure up to 50 IP address whitelists for an RDS instance and add up to 1,000 IP addresses and CIDR blocks to an IP address whitelist. For more information, see Configure an IP address whitelist for an ApsaraDB RDS for MySQL instance.
Account permission
  • The permissions of the root account or system administrator account are not provided.
  • The XA_RECOVER_ADMIN permission is subject to the following limits:
    • The permission is supported only for RDS instances that run MySQL 8.0.
    • Only the accounts that you create in the ApsaraDB RDS console have the permission. The accounts that you create by using the CREATE USER statement in the Data Management (DMS) console or on a database client do not have the permission and cannot be granted the permission.
Privileged account You can create and manage privileged accounts in the ApsaraDB RDS console or by using the ApsaraDB RDS API. A privileged account has permissions to disconnect all standard accounts that are created on the RDS instance on which the privileged account is created. Only one privileged account can be created for each RDS instance.

For more information, see Create an account on an ApsaraDB RDS for MySQL instance.

Standard account You can create and manage standard accounts in the ApsaraDB RDS console, by using the ApsaraDB RDS API, or by executing SQL statements. You must manually grant the permissions on specific databases to each standard account. A standard account does not have permissions to create, manage, or disconnect the other accounts of the RDS instance on which the standard account is created.

For more information, see Create an account on an ApsaraDB RDS for MySQL instance.

Instance parameter You can reconfigure most of the instance parameters in the ApsaraDB RDS console or by using the ApsaraDB RDS API. For security and stability purposes, some parameters cannot be reconfigured. For more information, see Use the console to set parameters.

Operation limits

Item Limit
Restoration
  • Limits on backups:
    • You can perform logical backups by using the CLI or the GUI.
    • You can perform physical backups only in the ApsaraDB RDS console or by using the ApsaraDB RDS API.
  • Limits on restoration:
    • You can perform logical restoration by using the CLI or the GUI.
    • You can perform physical restoration only in the ApsaraDB RDS console or by using the ApsaraDB RDS API.
Storage engine Only the InnoDB storage engine and the X-Engine storage engine are supported. For more information about X-Engine, see X-Engine overview.
  • The TokuDB storage engine is not supported. Percona no longer provides support for TokuDB. A large number of known issues in TokuDB cannot be fixed. These issues may cause business loss in extreme circumstances. Therefore, ApsaraDB RDS for MySQL no longer supports TokuDB since August 1, 2019. For more information about how to switch an RDS instance from TokuDB to a different storage engine, see [Notice] The storage engine was switched from TokuDB to InnoDB.
  • The MyISAM storage engine is not supported due to its inherent defects that may cause data loss. If you create a MyISAM table, ApsaraDB RDS converts the MyISAM table to an InnoDB table. For more information, see Why does RDS MySQL not support the MyISAM engine?
  • The Memory storage engine is not supported. If you create a Memory table, ApsaraDB RDS converts the Memory table to an InnoDB table.
Binary log
  • By default, the binary logging feature is enabled for an RDS instance. Binary logging cannot be disabled after it is enabled.
  • The value of the binlog_format parameter is fixed to ROW. This value cannot be changed.
Primary/secondary replication ApsaraDB RDS for MySQL provides a primary/secondary replication architecture. In this architecture, a secondary RDS instance is provided as a hot standby for the primary RDS instance that you create. The secondary RDS instance is hidden and inaccessible. This architecture is not supported in the RDS Basic Edition.
Instance restart You can restart an RDS instance only in the ApsaraDB RDS console or by using the ApsaraDB RDS API.
Network settings If an RDS instance runs MySQL 5.5 or MySQL 5.6 in the classic network and the database proxy feature is enabled for the instance, you cannot enable timestampes in SNAT mode by setting the net.ipv4.tcp_timestamps parameter.
Storage

If the storage usage of an RDS instance is excessively high, ApsaraDB RDS locks the RDS instance to prevent data loss that may be caused by accidental operations. You can unlock the RDS instance by upgrading the instance type

Help information If an RDS instance runs MySQL 8.0, you can query detailed help information from the mysql.help_topic table. If an RDS instance does not run MySQL 8.0, the mysql.help_topic table is empty.
Public endpoint You must manually apply for a public endpoint. For more information, see Apply for or release a public endpoint for an ApsaraDB RDS for MySQL instance.
Instance restart You can restart an RDS instance only in the ApsaraDB RDS console or by using the ApsaraDB RDS API.