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

For more information about the limits of ApsaraDB RDS that is used together with a different database engine, see the following topics:

Limits on specifications and performance

Item Specification Description
Storage capacity
  • RDS instances that use local SSDs: up to 6,000 GB.
  • RDS instances that use standard SSDs: up to 6,000 GB.
  • RDS instances that use 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.
Temporary table size
  • RDS instances that use local SSDs: up to 300 GB.
  • RDS instances that use standard SSDs or ESSDs: unlimited.
If the size of temporary tables in an RDS instance is larger than 300 GB, we recommend that you change the storage type to ESSDs. The maximum size of temporary tables in an RDS instance that uses local SSDs is 300 GB. If the size of temporary tables exceeds 300 GB, the RDS instance may encounter frequent high-availability switchovers and downtime issues.
Number of connections Up to 100,000. The maximum number of connections that are allowed for an RDS instance varies based on the instance type. For more information, see Primary ApsaraDB RDS instance types.
IOPS None.
Memory capacity
  • RDS instances that use local SSDs: up to 720 GB.
  • RDS instances that use standard SSDs or ESSDs: up to 768 GB.
For RDS instances that use standard SSDs or ESSDs, the memory includes the memory that is occupied by the RDS-related management services and the underlying operating system. Therefore, the available memory of an RDS instance may be less than the memory capacity that is supported by the instance type.
The following list provides the amount of memory that is occupied by different components:
  • The underlying operating system occupies 500 MB to 700 MB of memory.
  • The RDS-related management services occupy approximately 500 MB of memory.

Limits on quotas

Item Description
Read-only RDS instances
  • 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 instances Up to 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 a quota increase for your Alibaba Cloud account.
Tags The key of a tag must be unique. You can add up to 20 tags to an RDS instance. You can add tags to up to 50 RDS instances at a time. For more information, see Add tags to ApsaraDB RDS instances.
Free quota for backup storage
  • RDS instances that use local SSDs: Free quota for backup storage = 50% × Purchased storage capacity
  • RDS instances that use standard SSDs or ESSDs: Free quota for backup storage = 200% × Purchased storage capacity

If your backup storage exceeds the free quota, you are charged for the excess backup storage that you use. You can calculate your excess backup storage by using the following formula: Excess backup storage = Size of data backup files + Size of log backup files - Free quota. Unit: GB. You can round the obtained result only up to the next integer. For more information, see Backup storage pricing of 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. You are charged less for archived backup files than for regular backup files. For more information, see Backup storage pricing of an ApsaraDB RDS for MySQL instance.
Log retention period
  • Error logs are retained for 30 days.
  • The details about slow query logs are retained for seven days.
  • The summary of slow query logs is retained for seven days.
  • Primary/secondary switchover logs are retained for 30 days.
For more information, see View the logs of an ApsaraDB RDS for MySQL instance.

Limits on names

Item Description
Instance names
  • 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.
Usernames
  • 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 names
  • 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 username of an account cannot contain SQL keywords. For more information, see SQL keywords.
User-defined function (UDF) name Do not use the reserved keywords in the name of a UDF. For more information, see Reserved keywords of an ApsaraDB RDS for MySQL instance.

Limits on security

Item Description
Passwords
The password of an account must meet the following requirements:
  • The password of the account 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 the following special characters: ! @ # $ % ^ & * () _ + - =
Ports 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 the disk encryption feature 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 permissions
  • The permissions of the root account or the 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 accounts You can create and manage privileged accounts in the ApsaraDB RDS console or by using the ApsaraDB RDS API. The privileged account of an RDS instance has permissions to disconnect the database connections that are established by using standard accounts. 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 accounts
  • You can create and manage standard accounts in the ApsaraDB RDS console. You can also use the ApsaraDB RDS API or execute SQL statements to create and manage standard accounts.
  • You cannot use a standard account to create and manage accounts, or disconnect the database connections that are established by using other accounts.
  • By default, a standard account has the permissions only on the database to which the standard account is connected. You must manually grant the permissions on specified databases to each standard account. For more information, see Modify the permissions of a standard account on an ApsaraDB RDS for MySQL instance. You can also execute the GRANT statement to grant the specified permissions to a standard account. For more information, see Account permissions.
Instance parameters You can modify 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 modified. For more information, see Modify the parameters of an ApsaraDB RDS for MySQL instance.

Limits on operations

Item Description
Backup and restoration
  • Limits on backups:
    • You can perform logical backups by using the CLI or the GUI.
    • You can perform physical backups in the ApsaraDB RDS console or by using the ApsaraDB RDS API.
  • Limits on restoration:
    • You can restore data from logical backup files by using the CLI or the GUI.
    • You can restore data from physical backup files in the ApsaraDB RDS console or by using the ApsaraDB RDS API.
Storage engines Only the InnoDB storage engine and the X-Engine storage engine are supported. For more information about X-Engine, see Introduction to X-Engine.
  • 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. In extreme cases, these issues may cause business loss. Therefore, ApsaraDB RDS for MySQL no longer supports TokuDB as of 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 ApsaraDB RDS for MySQL not support the MyISAM storage engine?
  • The MEMORY storage engine is not supported. If you create a Memory table, ApsaraDB RDS converts the MEMORY table to an InnoDB table.
Binlog
  • By default, the binary logging feature is enabled. The binary logging feature cannot be disabled after it is enabled.
  • The value of the binlog_format parameter is fixed as 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 for RDS Basic Edition.
Instance restart You can restart an RDS instance 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 RDS instance, you cannot enable timestamps in SNAT mode by configuring 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 upgrade the instance type to unlock the RDS instance.

Size of a single table The maximum size of a single table is 2 TB due to the maximum file size that is allowed by the operating system. For more information, see Limits on the size of a single table in ApsaraDB RDS for MySQL.
Note We recommend that you make sure all tables in your RDS instance meet the following requirements to ensure optimal performance:
  • The number of data records in each table does not exceed 20 million.
  • The size of each table does not exceed 10 GB.
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 endpoints If you want to connect to an RDS instance by using a 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 in the ApsaraDB RDS console or by using the ApsaraDB RDS API.