ApsaraDB RDS for MySQL enforces the following limits to maintain instance stability and security.
Unless a specific version is mentioned, the limits in this topic apply to all versions.
For limits on other database engines, see:
Specifications and performance
| Resource | Limit | Notes |
|---|---|---|
| Storage space | High-performance local disks: up to 8,000 GB<br>Standard SSDs: up to 6,000 GB<br>Enterprise SSDs (ESSDs): up to 64,000 GB | The maximum varies by instance type. See Primary instance types. |
| Temporary tablespace | High-performance local disks: up to 300 GB<br>Cloud disks: unlimited | Exceeding the 300 GB limit on high-performance local disks can cause frequent high-availability switches and instance breakdowns. |
| Connections | Up to 100,000 | The maximum varies by instance type. See Primary instance types. |
| IOPS | High-performance local disks: up to 144,000<br>Cloud disks: see IOPS | — |
| Memory | High-performance local disks: up to 720 GB<br>Cloud disks: up to 768 GB | For cloud disk instances, the underlying operating system consumes approximately 500–700 MB and ApsaraDB RDS management services consume approximately 500 MB. The actual available memory is less than the specified size. |
| JSON column | Maximum storable data: 4 GB | — |
Quotas
| Quota | Limit | Adjustable |
|---|---|---|
| Read-only instances per primary instance | 10 | No |
| Pay-as-you-go and Serverless primary instances | 200 | Yes — submit a request in Quota Center |
| Tags per instance | 20 (each tag key must be unique) | No |
| Instances per batch tag operation | 50 | No |
| Free backup storage — high-performance local disks | 50% × purchased storage space | No |
| Free backup storage — cloud disks | 200% × purchased storage space | No |
| Backup retention period | Default: 7 days. Maximum: 730 days. Backups retained beyond 730 days are converted to archive backups at a lower storage cost. See Backup storage costs. | No |
The excess backup usage is calculated as: Data backup size + Log backup size - Free quota. The value is measured in GB and rounded up to the nearest integer.
Log retention periods
| Log type | Retention period |
|---|---|
| Error logs | 30 days |
| Slow query log details | 7 days |
| Slow query log statistics | 7 days |
| Primary/secondary switchover logs | 30 days |
Naming limits
| Item | Rules |
|---|---|
| Instance name | 2–255 characters. Allowed: uppercase letters, lowercase letters, Chinese characters, digits, underscores (_), and hyphens (-). Must start with a letter or a Chinese character. |
| Account name | MySQL 8.0 or 5.7: 2–32 characters. MySQL 5.6: 2–16 characters. Allowed: lowercase letters, digits, and underscores (_). Must start with a lowercase letter and end with a lowercase letter or digit. Must be unique and cannot be an SQL keyword. |
| Database name | Up to 64 characters. Allowed: lowercase letters, digits, underscores (_), and hyphens (-). Must start with a lowercase letter and end with a lowercase letter or digit. Must be unique and cannot be an SQL keyword. |
| User-defined function name | Avoid reserved keywords. |
Security limits
Passwords
Passwords must be 8–32 characters and contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters (!@#$%^&*()_+-=).
Network and access
| Item | Limit |
|---|---|
| Default port | 3306. Change it in the console if needed. See View or change endpoints and ports. |
| Disk encryption | Can only be enabled during instance creation. Cannot be disabled afterward. See Configure disk encryption. |
| Security groups per instance | Maximum 10. If an ApsaraDB RDS instance and an Elastic Compute Service (ECS) instance are in different security groups, the ECS instance cannot access the RDS instance. The security group must match the instance network type: virtual private cloud (VPC) instances can only join VPC-type security groups; classic network instances can only join classic network-type security groups. See Configure a security group. |
| IP whitelist groups per instance | Maximum 50. Each group supports up to 1,000 IP addresses or CIDR blocks. See Configure an IP address whitelist. |
| Public endpoint | Must be manually requested. See Apply for or release a public endpoint. |
Account permissions
ApsaraDB RDS does not provide root or sa permissions.
Privileged accounts:
One privileged account per instance (create and manage it in the console or via API only).
A privileged account can disconnect any other account.
Standard accounts:
Create and manage standard accounts in the console, via API, or using SQL statements.
Standard accounts cannot create or manage other accounts, and cannot disconnect other accounts.
By default, a standard account can only connect to the current database. Grant permissions on specific databases in the console, or use a
GRANTstatement. See Modify permissions of a standard account and Account permissions.
XA_RECOVER_ADMIN permission (MySQL 8.0 only):
Only MySQL 8.0 instances support this permission.
For accounts created in the RDS console, grant it manually using the
GRANTcommand.Accounts created via other means (such as the
CREATE USERcommand on a client) cannot be granted this permission.
Instance parameters:
Most parameters can be modified in the console or via API. For security and stability, some parameters cannot be modified.
Instance operation limits
Storage engines
Supported engine:
InnoDB
Unsupported engines:
| Engine | Status | Details |
|---|---|---|
| X-Engine | New instances not supported | Convert existing X-Engine instances to InnoDB and enable storage compression to reduce storage costs. |
| TokuDB | Not supported since August 1, 2019 | Percona no longer maintains TokuDB and many known bugs remain unfixed. See [Discontinuation] Convert TokuDB to InnoDB. |
| MyISAM | Not supported | Existing MyISAM tables are automatically converted to InnoDB. See Why is MyISAM not supported? |
| MEMORY | Not supported | MEMORY tables are automatically converted to InnoDB. |
Backup and recovery
| Operation | Allowed methods |
|---|---|
| Logical backup | Command line or graphical user interface (GUI) |
| Physical backup | RDS console or API only |
| Logical recovery | Command line or GUI |
| Physical recovery | RDS console or API only |
Logging
Logging is enabled by default and cannot be disabled.
The
binlog_formatparameter is fixed toROWand cannot be changed.
High availability and replication
ApsaraDB RDS for MySQL uses a primary/secondary replication architecture (except for Basic Edition instances).
High-availability series: The secondary instance is not readable.
Cluster Edition: Secondary nodes are readable.
Other limits
| Item | Limit |
|---|---|
| Single table size | Up to 16 TB (OS file size limit). See Single table size limits. |
| Storage space — full behavior | When storage is full, the instance is automatically locked. Monitor storage usage regularly to prevent this. If the storage space of an instance is full, the instance is automatically locked. This affects its use. Regularly check the storage usage. |
| Instance restart | Restart in the console or via API. |
| Network settings (MySQL 5.5/5.6) | If the instance is in the classic network and has database proxy enabled, do not enable net.ipv4.tcp_timestamps in SNAT mode. |
| Help information | All MySQL versions include the mysql.help_topic schema and support the HELP command. In some versions, help data may not be initialized and query results may be empty. Manually import a script to populate the data. |