Updated on 2024-09-12 GMT+08:00

RDS for MySQL Constraints

The following tables list the constraints designed to ensure the stability and security of RDS for MySQL.

Specifications and Performance

Table 1 Specifications

Item

Constraints

Description

Storage space

  • Cloud SSD: 40 GB to 4,000 GB
  • Extreme SSD: 40 GB to 4,000 GB

To increase the upper limit of the storage space to 10 TB, contact customer service.

Connections

A maximum of 100,000

The default maximum number of connections varies depending on the memory. For details, see What Is the Maximum Number of Connections to an RDS DB Instance?

IOPS

  • Cloud SSD: a maximum of 50,000
  • Extreme SSD: a maximum of 128,000

The input/output operations per second (IOPS) supported depends on the I/O performance of Elastic Volume Service (EVS) disks. For details, see the description about ultra-high I/O and extreme SSDs in Disk Types and Performance of Elastic Volume Service Service Overview.

Quotas

Table 2 Quotas

Item

Constraints

Description

Total number of instances (including read replicas)

50

To increase the quotas, see Managing Quotas.

Read replica

A maximum of 10 read replicas can be created for a DB instance.

For more information, see Introducing Read Replicas.

Tags

A maximum of 20 tags can be added for a DB instance.

For more information, see Managing Tags.

Free backup space

RDS provides free backup space of the same size as your purchased storage space.

After you pay for the storage space of your DB instance, you will get a backup space of the same size for free. For more information, see How Is RDS Backup Data Billed?

Retention period of automated backups

The default value is 7 days. The value ranges from 1 to 732 days.

For more information, see Configuring an Intra-Region Backup Policy.

Log retention period

  • Error log details: 30 days
  • Slow query log details: 30 days
  • Original slow query logs: 30 days
  • Slow query log statistics: 30 days
  • Failover/switchover logs: 30 days
  • SQL audit logs: The default value is 7 days. The value ranges from 1 to 732 days.

For more information, see Log Management.

Naming

Table 3 Naming

Item

Constraints

Instance name

  • 4 to 64 characters long
  • Must start with a letter. Only letters (case sensitive), digits, hyphens (-), and underscores (_) are allowed.

Database name

  • 1 to 64 characters long
  • Only letters, digits, hyphens (-), underscores (_), and dollar signs ($) are allowed. The total number of hyphens (-) and dollar signs ($) cannot exceed 10. (RDS for MySQL 8.0 does not support dollar signs ($).)

Account name

  • RDS for MySQL 5.6: The account name must be 1 to 16 characters long. Only letters, digits, hyphens (-), and underscores (_) are allowed.
  • RDS for MySQL 5.7 and 8.0: The account name must be 1 to 32 characters long. Only letters, digits, hyphens (-), and underscores (_) are allowed.

Backup name

  • 4 to 64 characters long
  • Must start with a letter. Only letters (case sensitive), digits, hyphens (-), and underscores (_) are allowed.

Parameter template name

  • 1 to 64 characters long
  • Only letters (case sensitive), digits, hyphens (-), underscores (_), and periods (.) are allowed.

Security

Table 4 Security

Item

Constraints

root permissions

Only the administrator account root is provided on the instance creation page. For details about the supported permissions, see root Permissions.

NOTE:

Running revoke, drop user, or rename user on root may cause service interruption. Exercise caution when running any of these statements.

root password

  • 8 to 32 characters long
  • Must contain at least three types of the following characters: uppercase letters, lowercase letters, digits, and special characters (~!@$#%^*-_=+?,()&.|).

For more information, see Resetting the Administrator Password to Restore Root Access.

Database port

1024 to 65535 (excluding 12017, 33071, and 33062, which are occupied by the RDS system)

For more information, see Changing a Database Port.

Disk encryption

If you enable disk encryption during instance creation, the disk encryption status and the key cannot be changed later.

For more information, see Performing a Server-Side Encryption.

VPC

The VPC where a DB instance is located cannot be changed after the instance is created.

Security group

  • By default, you can create a maximum of 100 security groups in your cloud account.
  • By default, you can add up to 50 security group rules to a security group. For more information, see Configuring Security Group Rules.
  • One RDS DB instance can be associated with multiple security groups, and one security group can be associated with multiple RDS DB instances.
  • When creating a DB instance, you can select multiple security groups. For better network performance, you are advised to select no more than five security groups. For more information, see Changing a Security Group.

System account

To provide O&M services, the system automatically creates system accounts when you create RDS for MySQL DB instances. These system accounts are unavailable to you.

  • rdsAdmin: a management account with the highest permission. It is used to query and modify instance information, rectify faults, migrate data, and restore data.
  • rdsRepl: a replication account, used to synchronize data from the primary instance to the standby instance or read replicas.
  • rdsBackup: a backup account, used for backend backup.
  • rdsMetric: a metric monitoring account used by watchdog to collect database status data.
  • rdsProxy: a database proxy account, used for authentication when the database is connected through the read/write splitting address. This account is automatically created when you enable read/write splitting.

Instance parameter

To ensure optimal performance of RDS, you can modify parameters in the parameter template you created as needed.

For more information, see Suggestions on RDS for MySQL Parameter Tuning.

Instance Operations

Table 5 Instance operations

Item

Constraints

RDS for MySQL storage engine

Only the InnoDB storage engine is supported. MyISAM, FEDERATED, and MEMORY are not supported.

For more information, see What Storage Engines Does RDS for MySQL Support?

Instance deployment

ECSs where DB instances are deployed are not directly visible to you. You can only access the DB instances through IP addresses and database ports.

Data migration

You can migrate data from DDM, GaussDB, GaussDB(for MySQL), self-managed MySQL databases, self-managed Oracle databases, or MySQL databases built on other clouds to RDS for MySQL, or from one RDS for MySQL instance to another RDS for MySQL instance.

Data migration tools include Data Replication Service (DRS), mysqldump, and Data Admin Service (DAS). You are advised to use DRS because it is easy to use and can complete a migration task in minutes. DRS facilitates data transfer between databases, helping you reduce DBA labor costs and hardware costs.

NOTE:

We have arranged preferential pricing for DRS in the following scenarios:

  • Real-time migration tasks are free of configuration and data transmission fees in the first seven days, lowering your costs for migrating data to the cloud.
  • Real-time migration and synchronization will provide long-term discounts, lowering your costs for data transfers.

You can use the price calculator provided by DRS to quickly calculate the reference price based on the required specifications.

For more information, see Migration Solutions.

Primary/Standby replication

RDS for MySQL uses a primary/standby dual-node replication cluster. You do not need to set up replication additionally. The standby DB instance is not visible to you and therefore you cannot access it directly.

High CPU usage

If the CPU usage is high or close to 100%, data read/write and database access will become slow, and an error will be reported during data deletion.

For details, see Identifying Why CPU Usage of RDS for MySQL DB Instances Is High and Providing Solutions.

Full storage

There is not enough storage available for a DB instance and the instance becomes read-only, so applications cannot write any data to the instance.

For details, see What Should I Do If an RDS DB Instance Is Abnormal Due to Full Storage Space?

Number of tables

RDS for MySQL supports a maximum of 500,000 tables.

If there are more than 500,000 tables, database backup or a minor version upgrade may fail.

If there are more than 100,000 tables, DDL statements executed for the tables cause high CPU utilization. To remain database performance, temporarily increase the value of innodb_open_files on the console to the total number of tables in the instance. After the DDL execution is complete, set the parameter to its default value.

NOTICE:

The innodb_open_files value actually applied is the smaller one of innodb_open_files and table_open_cache.

Rebooting a DB instance

DB instances cannot be rebooted through commands. They must be rebooted through the RDS console.

Stopping or starting a DB instance

  • You can temporarily stop pay-per-use instances to save money. For more information, see Stopping an Instance.
  • After stopping your instance, you can restart it to begin using it again.

Viewing backups

You can download automated and manual backups for local storage. To download a backup, you can use OBS Browser+, the current browser, or the download URL.

For more information, see Downloading a Full Backup File.

Log management

  • RDS for MySQL logging is enabled by default and cannot be disabled.
  • Binary logging is enabled for RDS for MySQL by default and uses row-based logging.
  • Read replicas do not provide binlogs.

Recycle bin

RDS allows you to move unsubscribed yearly/monthly DB instances and deleted pay-per-use DB instances to the recycle bin. You can rebuild a DB instance that was deleted up to 7 days ago from the recycle bin.

SQL standard

The ZEROFILL attribute has been deprecated and will be deleted in later versions.

root Permissions

Table 6 root permissions

Permission

Level

Description

Supported

Select

Table

Query permissions

Yes

Insert

Table

Insert permissions

Update

Table

Update permissions

Delete

Table

Delete permissions

Create

Database, table, or index

Permissions of creating databases, tables, or indexes

Drop

Database or table

Permissions of deleting databases or tables

Reload

Server management

Permissions of running the following commands: flush-hosts, flush-logs, flush-privileges, flush-status, flush-tables, flush-threads, refresh, and reload

Process

Server management

Permissions of viewing processes

Grant

Database, table, or stored program

Permissions of granting access control

References

Database or table

Foreign key operation permissions

Index

Table

Index permissions

Alter

Table

Permissions of altering tables, such as adding fields or indexes

Show_db

Server management

Permissions of viewing database connections

Create_tmp_table

Server management

Permissions of creating temporary tables

Lock_tables

Server management

Permissions of locking tables

Execute

Stored procedure

Permissions of executing storage procedures

Repl_slave

Server management

Replication permissions

Repl_client

Server management

Replication permissions

Create_view

View

Permissions of creating views

Show_view

View

Permissions of viewing views

Create_routine

Stored procedure

Permissions of creating storage procedures

Alter_routine

Stored procedure

Permissions of altering storage procedures

Create_user

Server management

Permissions of creating users

Event

Database

Event triggers

Trigger

Database

Triggers

Super

Server management

Permissions of killing threads

No

File

File on the server

Permissions of accessing files on database server nodes

No

Shutdown

Server management

Permissions of shutting down databases

Create_tablespace

Server management

Permissions of creating tablespaces