Help Center/ Relational Database Service/ FAQs/ Database Storage/ What Storage Engines Does RDS for MySQL Support?
Updated on 2024-05-31 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 backup and restoration and is therefore recommended.

Other Storage Engines

RDS for MySQL does not support 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: If the storage engines I obtained after running SHOW ENGINES on my RDS for MySQL instance contain not only the InnoDB storage engine, which storage engine is actually supported by RDS for MySQL?

A: The InnoDB storage engine. The storage engines returned in the command output of SHOW ENGINES are not the actually available engines, and they can be disabled by the parameter disabled_storage_engines.