Amazon RDS 上的 MySQL 功能支持
RDS for MySQL 支持 MySQL 的大部分特性和功能。有些功能可能仅提供有限的支持或受限制的权限。
您可以在
数据库的新增功能?
MySQL 2022
之类的关键词进行搜索。
注意
以下列表并不详尽。
主题
支持的 RDS for MySQL 存储引擎
虽然 MySQL 支持功能不同的多种存储引擎,但并非所有引擎都为恢复和数据持久性进行了优化。Amazon RDS 完全支持 MySQL 数据库实例的 InnoDB 存储引擎。Amazon RDS 的时间点恢复和快照恢复功能要求使用恢复存储引擎,且仅支持 InnoDB 存储引擎。有关更多信息,请参阅 MySQL memcached 支持 。
Amazon RDS for MySQL 当前不支持联合存储引擎。
对于用户创建的架构,MyISAM 存储引擎不支持可靠的恢复,并且在恢复后重新启动 MySQL 时可能会导致数据丢失或损坏,使时间点还原或快照还原无法发挥预期的作用。不过,如果您仍选择配合使用 MyISAM 和 Amazon RDS,在某些条件下,快照可能也会有所帮助。
注意
mysql
架构中的系统表可以位于 MyISAM 存储中。
如果要将现有的 MyISAM 表转换为 InnoDB 表,您可以使用
ALTER TABLE
命令(例如,
alter table TABLE_NAME engine=innodb;
)。请注意,MyISAM 和 InnoDB 各有优点和缺点,所以在执行前请充分评估转换可能对您的应用程序造成的影响。
Amazon RDS 不再支持 MySQL 5.1、5.5 和 5.6。但您可以还原现有的 MySQL 5.1、5.5 和 5.6 快照。在还原 MySQL 5.1、5.5 和 5.6 快照时,数据库实例将自动升级到 MySQL 5.7。
在 Amazon RDS 上通过 MySQL 使用 memcached 和其他选项
大多数 Amazon RDS 数据库引擎均支持一些选项组,通过这些选项组,可选择其他功能用于数据库实例。RDS for MySQL 数据库实例支持
memcached
选项,它是一个简单的基于键的缓存。有关
memcached
和其他选项的更多信息,请参阅
适用于 MySQL 数据库实例的选项
。有关使用选项组的详细信息,请参阅
使用选项组
。
Amazon RDS 上 MySQL 的 InnoDB 缓存预热
InnoDB 缓存预热可为您的 MySQL DB 实例提供性能收益,方式是在数据库实例关闭时保存缓冲池的当前状态,然后在数据库实例启动时从保存的信息重新加载缓冲池。这将不再需要缓冲池使用常规数据库进行“预热”,而是预加载具有已知常见查询的页的缓冲池。存储已保存缓冲池信息的文件仅存储缓冲池内的页的元数据,而不是存储页本身。因此,此文件需要的存储空间不多。此文件的大小约为缓存大小的 0.2%。例如,对于 64 GiB 的缓存,缓存预热文件大小为 128 MiB。有关 InnoDB 缓存预热的更多信息,请参阅 MySQL 文档中的
保存和还原缓冲池状态
RDS for MySQL 数据库实例支持 InnoDB 缓存预热。要启用 InnoDB 缓存预热,请将数据库实例的参数组中的
innodb_buffer_pool_dump_at_shutdown
和
innodb_buffer_pool_load_at_startup
参数设置为 1。更改参数组中的这些参数值将影响使用该参数组的所有 MySQL 数据库实例。要为特定 MySQL 数据库实例启用 InnoDB 缓存预热,您可能需要为这些实例创建新的参数组。有关参数组的信息,请参阅
使用参数组
。
InnoDB 缓存预热主要为使用标准存储的数据库实例提供性能收益。如果您使用 PIOPS 存储,则通常看不到显著的性能收益。
重要
如果您的 MySQL 数据库实例未正常关闭 (例如,在故障转移期间),则缓冲池状态将不会保存到磁盘。在此情况下,MySQL 将在重新启动数据库实例时加载任何可用的缓冲池文件。这不会造成任何损害,但还原后的缓冲池可能不会反映缓冲池在重新启动前的最新状态。要确保您拥有启动时可用于预热 InnoDB 缓存的缓冲池的最新状态,建议您定期“按需”转储缓冲池。
您可创建事件来定期自动转储缓冲池。例如,以下语句创建一个名为
periodic_buffer_pool_dump
的事件,该事件每小时转储一次缓冲池。
CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();
有关 MySQL 事件的更多信息,请参阅 MySQL 文档中的
事件语法
按需转储和加载缓冲池
您可“按需”保存和加载 InnoDB 缓存。