Help Center> Relational Database Service> FAQs> Database Storage> What Storage Engines Does RDS for MySQL Support?
Updated on 2024-05-13 GMT+08:00

What Storage Engines Does RDS for MySQL Support?

The database storage engine is a core service for storing, processing, and protecting data. It can be used to control access permissions and rapidly process transactions to meet enterprise requirements.

InnoDB Storage Engine

For RDS for MySQL databases, only InnoDB supports backups and restorations and is therefore recommended.

Other Storage Engines

Table 1 lists the storage engines not supported by RDS for MySQL 5.6 or later versions.

Table 1 Unsupported storage engines

Storage Engine

Reason

MyISAM

  • MyISAM engine tables do not support transactions. They only support table-level locks. As a result, read and write operations conflict with each other.
  • MyISAM is not good at protecting data integrity. Data can be damaged or lost.
  • If data is damaged, MyISAM does not support data restoration provided by RDS for MySQL. Data can only be restored manually.
  • Data can be transparently migrated from MyISAM to InnoDB without changing code.

FEDERATED

  • If primary/standby DB instances support FEDERATED, the same DML operations will be repeatedly executed on remote databases, and the data will become disordered.
  • For PITR restoration, after a full backup is restored, data on remote databases is not restored to the state it was in when the full backup was created. Accessing data during an incremental restoration will disorder FEDERATED table data.

MEMORY

  • If a memory table becomes empty after a restart, the database adds a DELETE event to the binlog when the table is opened. If a primary/standby DB instance uses memory tables and the standby instance (or a read replica) is restarted, a GTID is generated, which makes the standby inconsistent with that of the primary instance. As a result, the standby instance (read replica) has to be rebuilt.
  • Using memory tables may cause out-of-memory (OOM) errors and even service terminations.

Related FAQ

Q: Which one prevails if the storage engines returned after I run show engines on My RDS for MySQL instance is different from those displayed in the MySQL official documentation?

A: The storage engines displayed in the MySQL official documentation prevail. The storage engines displayed in the command output of show engines are not the available storage engines. The available storage engines are subject to the setting of disabled_storage_engines. The storage engines specified by disabled_storage_engines are not available.

Database Storage FAQs

more