RDS for MariaDB 的已知问题和限制 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

RDS for MariaDB 的已知问题和限制

以下各项是使用 RDS for MariaDB 时的已知问题和限制。

注意

此列表并不详尽。

Amazon RDS 中的 MariaDB 文件大小限制

对于 MariaDB 数据库实例,在使用 InnoDB file-per-table 表空间时,表的最大大小为 16 TB。此限制也将系统表空间的最大大小约束为 16 TB。默认情况下,为 MariaDB 数据库实例设置 InnoDB file-per-table 表空间(每个表位于各自的表空间中)。此限制与 MariaDB 数据库实例的最大存储限制无关。有关存储限制的更多信息,请参阅 Amazon RDS 数据库实例存储

根据您的应用程序,使用 InnoDB file-per-table 表空间有一些优缺点。要确定适用于您的应用程序的最佳方法,请参阅 MySQL 文档中的 File-Per-Table 表空间

建议不要允许表增长到最大文件大小。一般而言,更好的方法是将数据分区到较小的表中,这可以提高性能并缩短恢复时间。

可用于将大型表划分为多个较小表的一个选项是分区。分区 可基于您指定的规则将大型表的各个部分分布到单独的文件中。例如,如果您按日期存储事务,则可以创建分区规则,以便使用分区将较旧的事务分布到单独的文件中。随后您可以定期存档无需随时可供应用程序使用的历史事务数据。有关更多信息,请参阅 MySQL 文档中的分区

确定所有 InnoDB 表空间的大小
  • 使用以下 SQL 命令可确定任何表是否太大以及是否适合进行分区。

    注意

    对于 MariaDB 10.6 及更高版本,此查询还返回 InnoDB 系统表空间的大小。

    对于 10.6 之前的 MariaDB 版本,您无法通过查询系统表来确定 InnoDB 系统表空间的大小。我们强烈建议您升级到更高的版本。

    SELECT SPACE,NAME,ROUND((ALLOCATED_SIZE/1024/1024/1024), 2) as "Tablespace Size (GB)" FROM information_schema.INNODB_SYS_TABLESPACES ORDER BY 3 DESC;
确定非 InnoDB 用户表的大小
  • 使用以下 SQL 命令来确定是否有任何非 InnoDB 用户表过大。

    SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH+DATA_FREE) / 1024 / 1024/ 1024), 2) As "Approximate size (GB)" FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema') and ENGINE<>'InnoDB';

启用 InnoDB file-per-table 表空间

  • 在数据库实例的参数组中将 innodb_file_per_table 参数设置为 1

禁用 InnoDB file-per-table 表空间

  • 在数据库实例的参数组中将 innodb_file_per_table 参数设置为 0

有关更新参数组的信息,请参阅Amazon RDS 的参数组

当您启用或禁用 InnoDB file-per-table 表空间后,可以发出 ALTER TABLE 命令。您可以使用此命令将表从全局表空间移动到其自己的表空间。或者,您可以将表从其自己的表空间移动到全局表空间。以下为示例。

ALTER TABLE table_name ENGINE=InnoDB, ALGORITHM=COPY;

InnoDB 保留字

InnoDB 是 RDS for MariaDB 的保留字。您不能将此名称用于 MariaDB 数据库。

自定义端口

Amazon RDS 禁止连接到 MariaDB 引擎的自定义端口 33060。为您的 MariaDB 引擎选择不同的端口。

Performance Insights

InnoDB 计数器在 RDS for MariaDB 版本 10.11 的性能详情中不可见,因为 MariaDB 社区不再支持它们。