Amazon RDS 上的 MariaDB 特征支持
RDS for MariaDB 支持 MariaDB 的大部分特征和功能。有些功能可能仅提供有限支持或受限制的权限。
您可以在数据库的新增功能?MariaDB 2023 之类的关键词进行搜索。
注意
以下列表并不详尽。
有关 Amazon RDS 上 MariaDB 功能支持的更多信息,请参阅以下主题。
Amazon RDS for MariaDB 各主要版本上的 MariaDB 特征支持
在以下几部分,查找有关 Amazon RDS for MariaDB 各主要版本上的 MariaDB 特征支持的信息:
主题
有关支持的 Amazon RDS for MariaDB 次要版本的信息,请参阅 Amazon RDS 上的 MariaDB 版本。
Amazon RDS 上的 MariaDB 12.3 支持
对于运行 MariaDB 版本 12.3 或更高版本的数据库实例,Amazon RDS 支持以下新特征。
注意
MariaDB 12.3 是 Amazon RDS 在 MariaDB 11.8 之后支持的第一个主要版本。如果您从 MariaDB 11.8 进行升级,则您的数据库实例还将获得 MariaDB 在版本 12.0、12.1 和 12.2 中引入的功能。
-
RDS 代理的保留用户:
rdsproxyadmin用户是 MariaDB 12.3 及更高版本中的保留用户。您无法修改或删除该用户。有关更多信息,请参阅 Amazon RDS 上的 MariaDB 安全性。 -
针对任何主机值的复制用户账户的删除保护:您无法删除任何主机值的
rdsrepladmin用户账户。以前,此保护措施仅适用于'rdsrepladmin'@'%'。有关更多信息,请参阅 Amazon RDS 上的 MariaDB 安全性。 -
使用
caching_sha2_password插件进行身份验证:您可以创建使用caching_sha2_password插件进行身份验证的用户,该插件是 RDS for MySQL 版本 8.4 中的默认身份验证插件。此插件提供的密码哈希功能比mysql_native_password更强。 -
会话授权:您可以使用
SET SESSION AUTHORIZATION语句以其他用户身份运行语句,而无需打开新连接。要使用此语句,用户需要SET USER权限。此语句不能在事务、预准备语句或存储例程中使用,也不能用于设置任何内部用户。 -
已弃用或移除的参数:
innodb_ft_enable_diag_print参数已弃用,对于 MariaDB 版本 12.3 的数据库实例没有影响。该参数仍存在于参数组中。有关更多信息,请参阅 MariaDB 网站上的 innodb_ft_enable_diag_print。 -
参数的新有效值 – 对于 MariaDB 版本 12.3 数据库实例,以下参数具有新的有效值:
-
read_only
参数的有效值已从 0和1更改为OFF、ON、NO_LOCK和NO_LOCK_NO_ADMIN。此外,NO_LOCK不支持LOCK TABLES和SELECT ... IN SHARE MODE,并且NO_LOCK_NO_ADMIN将限制应用于拥有READ ONLY ADMIN权限的用户。 -
optimizer_switch
参数的有效值现在包括 duplicateweedout 和 reorder_outer_joins 标志。 -
slave_type_conversions
参数的有效值现在包括 ERROR_IF_MISSING_FIELD。 -
group_concat_max_len
参数的最大值已从 18446744073709547520更改为1073741824。
-
-
新参数 – 对于 MariaDB 版本 12.3 数据库实例,以下参数是新的:
-
max_open_cursors
参数设置每个会话的打开游标的最大数量。默认值为 50,有效值为0到65536。 -
aria_pagecache_segments
参数设置 Aria 页面缓存(可减少互斥争用)中的分段数量。默认值为 1,有效值为1到128。 -
metadata_locks_instances
参数设置元数据锁的快速通道数量,这可以提高数据操作语言(DML)的可扩展性。默认值为 8,有效值为1到256。 -
create_tmp_table_binlog_formats
参数设置临时表支持的二进制日志格式。默认值为 STATEMENT,有效值为MIXED和STATEMENT。
-
有关所有 MariaDB 12.3 特征的列表及其文档,请参阅 MariaDB 网站上的 MariaDB 12.3 中的更改和改进
有关不支持特征的列表,请参阅 Amazon RDS 不支持的 MariaDB 特征。
Amazon RDS 上对 MariaDB 11.8 的支持
对于运行 MariaDB 版本 11.8 或更高版本的数据库实例,Amazon RDS 支持以下新特征。
注意
在 MariaDB 11.8 中,require_secure_transport 的默认值现为 1,需要安全的 SSL/TLS 连接。如果需要非安全连接,则设置为 0。
-
参数的新默认值 –
require_secure_transport参数的默认值从0更改为1,默认情况下强制使用安全传输连接。有关更多信息,请参阅 所有与 Amazon RDS 上的 MariaDB 数据库实例的连接都需要 SSL/TLS。 -
矢量支持 – 您可以使用 MariaDB Vector 直接在 MariaDB 中存储和搜索人工智能生成的向量。此功能引入了以下系统变量:
变量
mhnsw_default_distance指定 MHNSW 向量索引的默认距离指标。 变量
mhnsw_default_m定义了 MHNSW 向量索引中 M参数的默认值。变量
mhnsw_ef_search定义了向量索引搜索的候选结果的最少数量。 变量
mhnsw_max_cache_size设置一个 MHNSW 向量索引缓存的上限。
-
临时文件大小限制 – 现在,您可以使用 RDS Maria DB 11.8 参数组中提供的两个系统变量来限制已创建的磁盘临时文件和表的大小:
变量
max_tmp_session_space_usage用于限制每个用户的临时空间限额。 变量
max_tmp_total_space_usage用于限制所有用户的临时空间限额。
-
临时表空间管理:临时表空间存储临时表,并随着数据的添加而增长。删除临时表时,不会自动回收空间。您可以使用 mysql.rds_execute_operation 过程缩减临时表空间并回收磁盘空间。
有关所有 MariaDB 11.8 特征的列表及其文档,请参阅 MariaDB 网站上的 MariaDB 11.8 中的更改和改进
有关不支持特征的列表,请参阅 Amazon RDS 不支持的 MariaDB 特征。
Amazon RDS 上对 MariaDB 11.4 的支持
对于运行 MariaDB 版本 11.4 或更高版本的数据库实例,Amazon RDS 支持以下新特征。
-
密码库 – RDS for MariaDB 将 OpenSSL 替换为已获得 FIPS 140-3 认证的 AWS Libcrypto(AWS-LC)。
-
简单密码检查插件 – 您可以使用 MariaDB 简单密码检查插件
来检查密码是否包含至少特定数量的特定类型字符。有关更多信息,请参阅 对于 RDS for MariaDB 使用密码验证插件。 -
Cracklib 密码检查插件 – 您可以使用 MariaDB Cracklib 密码检查插件
来检查新密码的强度。有关更多信息,请参阅 对于 RDS for MariaDB 使用密码验证插件。 -
InnoDB 增强功能 – 这些增强功能包括以下项目:
-
更改缓冲区已删除。有关更多信息,请参阅 InnoDB 更改缓冲
。 -
InnoDB 碎片整理已删除。有关更多信息,请参阅 InnoDB 碎片整理
。
-
-
新权限 – 管理员用户现在也拥有
SHOW CREATE ROUTINE权限。此权限允许被授权者查看其他用户拥有的例程的SHOW CREATE定义语句。有关更多信息,请参阅数据库权限。 -
复制改进 – MariaDB 版本 11.4 数据库实例支持二进制日志索引。您可以为每个二进制日志文件创建 GTID 索引。这些索引缩短了查找 GTID 所需的时间,从而提高了复制性能。有关更多信息,请参阅二进制日志索引
。 -
已弃用或删除的参数 – 对于 MariaDB 版本 11.4 数据库实例,以下参数已弃用或删除:
已从 optimizer_switch
中删除 engine_condition_pushdown-
已从 tls_version
中删除 TLSv1.0和TLSv1.1
-
参数的新默认值 – innodb_undo_tablespaces
参数的默认值从 0更改为3。 -
参数的新有效值 – 对于 MariaDB 版本 11.4 数据库实例,以下参数具有新的有效值:
-
binlog_row_image
参数的有效值现在包括 FULL_NODUP。 -
OLD_MODE
参数的有效值现在包括 NO_NULL_COLLATION_IDS。
-
-
新参数 – 对于 MariaDB 版本 11.4 数据库实例,以下参数是新的:
-
transaction_isolation
参数替换 tx_isolation 参数。 -
transaction_read_only
参数替换 tx_read_only 参数。 -
block_encryption_mode
参数定义了 AES_ENCRYPT() 和 AES_DECRYPT() 函数的默认区块加密模式。 -
character_set_collations
定义了字符集默认排序规则的覆盖。 -
binlog_gtid_index
、binlog_gtid_index_page_size 和 binlog_gtid_index_span_min 定义了二进制日志 GTID 索引的属性。有关更多信息,请参阅二进制日志索引 。
-
有关所有 MariaDB 11.4 特征的列表及其文档,请参阅 MariaDB 网站上的 MariaDB 11.4 中的更改和改进
有关不支持特征的列表,请参阅 Amazon RDS 不支持的 MariaDB 特征。
Amazon RDS 上对 MariaDB 10.11 的支持
对于运行 MariaDB 版本 10.11 或更高版本的数据库实例,Amazon RDS 支持以下新特征。
-
密码重用检查插件 – 您可以使用 MariaDB 密码重用检查插件来防止用户重用密码并设置密码的保留期。有关更多信息,请参阅密码重用检查插件
。 -
GRANT TO PUBLIC 授权 – 您可以向所有具有服务器访问权限的用户授予权限。有关更多信息,请参阅 GRANT TO PUBLIC
。 -
SUPER 和 READ ONLY ADMIN 权限分离 – 您可以删除所有用户的 READ ONLY ADMIN 权限,即使是以前拥有 SUPER 权限的用户也是如此。
-
安全 – 现在可以将选项
--ssl设置为 MariaDB 客户端的默认设置。如果配置不正确,MariaDB 不再以静默方式禁用 SSL。 -
SQL 命令和函数 – 您现在可以使用
SHOW ANALYZE FORMAT=JSON命令和函数ROW_NUMBER、SFORMAT以及RANDOM_BYTES。SFORMAT允许字符串格式化,且默认情况下处于启用状态。只需一条命令即可将分区转换为表和将表转换为分区。围绕JSON_*()函数还有一些改进。在 10.10 及更高版本中,已弃用DES_ENCRYPT和DES_DECRYPT函数。有关更多信息,请参阅 SFORMAT。 -
InnoDB 增强功能 – 这些增强功能包括以下项目:
-
重做日志的性能改进,以减少写入放大并提高并发性。
-
无需重新初始化数据目录,即可更改撤消表空间。此增强功能减少了控制面板开销。它要求重启,但在更改撤消表空间后不需要重新初始化。
-
支持
CHECK TABLE … EXTENDED和内部索引降序。 -
改进了批量插入功能。
-
-
二进制日志更改 – 这些更改包括以下项目:
-
分两个阶段记录
ALTER以减少复制延迟。默认情况下,binlog_alter_two_phase参数处于禁用状态,但可以通过参数组启用。 -
记录
explicit_defaults_for_timestamp。 -
如果事务可以安全地回滚,则不再记录
INCIDENT_EVENT。
-
-
复制改进 – 如果主服务器支持 GTID 复制,则 MariaDB 版本 10.11 数据库实例默认情况下使用此功能。另外,
Seconds_Behind_Master更精确。 -
客户端 – 您可以将新的命令行选项用于
mysqlbinglog和mariadb-dump。您可以使用mariadb-dump转储和还原历史数据。 -
系统版本控制 – 您可以修改历史记录。MariaDB 会自动创建新的分区。
-
原子 DDL –
CREATE OR REPLACE现在是原子的。语句要么成功,要么完全相反。 -
重做日志写入 – 重做日志异步写入。
-
存储函数 – 存储函数现在支持存储过程中的相同
IN、OUT和INOUT参数。 -
已弃用或移除的参数 – 对于 MariaDB 版本 10.11 数据库实例,以下参数已弃用或删除:
-
动态参数 – 对于 MariaDB 版本 10.11 数据库实例,以下参数现在是动态的:
-
参数的新默认值 – 对于 MariaDB 版本 10.11 数据库实例,以下参数具有新的默认值:
-
explicit_defaults_for_timestamp
参数的默认值已从 OFF更改为ON。 -
optimizer_prune_level
参数的默认值已从 1更改为2。
-
-
参数的新有效值 – 对于 MariaDB 版本 10.11 数据库实例,以下参数具有新的有效值:
-
histogram_type
参数的有效值现在包括 JSON_HB。 -
innodb_log_buffer_size
参数的有效值范围现在为 262144至4294967295(256KB 至 4096MB)。 -
innodb_log_file_size
参数的有效值范围现在为 4194304至512GB(4MB 至 512GB)。 -
optimizer_prune_level
参数的有效值现在包括 2。
-
新参数 – 对于 MariaDB 版本 10.11 数据库实例,以下参数是新的:
-
binlog_alter_two_phase
参数可以改善复制性能。 -
log_slow_min_examined_row_limit
参数可以改善性能。 -
log_slow_query
参数和 log_slow_query_file 参数分别为 slow_query_log和slow_query_log_file的别名。
-
有关所有 MariaDB 10.11 特征的列表及其文档,请参阅 MariaDB 网站上的 MariaDB 10.11 中的更改和改进
有关不支持特征的列表,请参阅 Amazon RDS 不支持的 MariaDB 特征。
Amazon RDS 对 MariaDB 10.6 的支持
对于运行 MariaDB 版本 10.6 或更高版本的数据库实例,Amazon RDS 支持以下新特征:
-
MyRocks 存储引擎 - 您可以将 MyRocks 存储引擎与 RDS for MariaDB 结合使用,以优化写入密集型高性能 Web 应用程序的存储消耗。有关更多信息,请参阅 Amazon RDS 上的 MariaDB 支持的存储引擎 和 MyRocks
。 -
AWS Identity and Access Management (IAM) 数据库身份验证 - 您可以使用 IAM 数据库身份验证来提高安全性和集中管理与 MariaDB 数据库实例的连接。有关更多信息,请参阅 适用于 MariaDB、MySQL 和 PostgreSQL 的IAM 数据库身份验证。
-
升级选项 - 您现在可以从以前的任何主要版本(10.3、10.4、10.5)升级到 RDS for MariaDB 版本 10.6。您还可以将现有 MySQL 5.6 或 5.7 数据库实例的快照还原到 MariaDB 10.6 实例。有关更多信息,请参阅 升级 MariaDB 数据库引擎。
-
延迟复制 - 您现在可以设置一个只读副本落后于源数据库的可配置时间段。在标准 MariaDB 复制配置中,源和副本之间的复制延迟最小。使用延迟复制时,您可以将故意延迟设置为灾难恢复策略。有关更多信息,请参阅 使用 MariaDB 配置延迟复制。
-
Oracle PL/SQL 兼容性 - 通过使用 RDS for MariaDB 版本 10.6,您可以更轻松地将旧版 Oracle 应用程序迁移到 Amazon RDS。有关更多信息,请参阅 SQL_MODE=ORACLE
。 -
原子 DDL - 您的动态数据语言 (DDL) 语句与 RDS for MariaDB 版本 10.6 结合使用可能相对安全。
CREATE TABLE、ALTER TABLE、RENAME TABLE、DROP TABLE、DROP DATABASE和相关的 DDL 语句现在是原子的。要么语句成功,要么完全相反。有关更多信息,请参阅原子 DDL。 -
其他增强功能 - 这些增强功能包括在 SQL 中将 JSON 数据转换为关系格式的
JSON_TABLE功能,以及使用 Innodb 更快地加载空表数据。它们还包括用于分析和故障排除的新sys_schema,用于忽略未使用索引的优化器增强以及性能改进。有关更多信息,请参阅 JSON_TABLE。 -
参数的新默认值 – 对于 MariaDB 10.6 版本数据库实例,以下参数具有新的默认值:
-
以下参数的默认值已从
utf8更改为utf8mb3:尽管这些参数的默认值已更改,但功能没有变化。有关更多信息,请参阅 MariaDB 文档中的支持的字符集和排序规则
。 -
collation_connection
参数的默认值已从 utf8_general_ci更改为utf8mb3_general_ci。尽管此参数的默认值已更改,但功能没有变化。 -
old_mode
参数的默认值已从未设置更改为 UTF8_IS_UTF8MB3。尽管此参数的默认值已更改,但功能没有变化。
-
有关所有 MariaDB 10.6 特征的列表及其文档,请参阅 MariaDB 网站上的 MariaDB 10.6 中的更改和改进
有关不支持特征的列表,请参阅 Amazon RDS 不支持的 MariaDB 特征。
Amazon RDS 对 MariaDB 10.5 的支持
对于运行 MariaDB 版本 10.5 或更高版本的数据库实例,Amazon RDS 支持以下新特征:
-
InnoDB 增强功能 – MariaDB 10.5 版本包括 InnoDB 增强功能。有关更多信息,请参阅 MariaDB 文档中的 InnoDB:性能改进等
。 -
Performance Schema 更新 – MariaDB 10.5 版本包括 Performance Schema 更新。有关更多信息,请参阅 MariaDB 文档中的 Performance Schema 更新以满足 MySQL 5.7 工具和表的要求
。 -
InnoDB 重做日志中的一个文件 – 在 10.5 之前的 MariaDB 版本中,
innodb_log_files_in_group参数的值设置为2。在 MariaDB 10.5 版本中,此参数的值设置为1。如果从之前的版本升级到 MariaDB 10.5 版本,而且未修改参数,则
innodb_log_file_size参数值不变。但是,它适用于一个日志文件而非两个。因此,升级后的 MariaDB 10.5 版本数据库实例使用的重做日志大小是升级前所用大小的一半。此变化可能会对性能产生明显的影响。要解决此问题,您可以将innodb_log_file_size参数的值增大两倍。有关修改参数的信息,请参阅 在 Amazon RDS 中修改数据库参数组中的参数。 -
SHOW SLAVE STATUS 命令不受支持 – 在 10.5 之前的 MariaDB 版本中,
SHOW SLAVE STATUS命令需要REPLICATION SLAVE特权。在 MariaDB 10.5 版本中,等效的SHOW REPLICA STATUS命令需要REPLICATION REPLICA ADMIN特权。此新权限不会向 RDS 主用户授予。请不要使用
SHOW REPLICA STATUS命令,而是运行新的mysql.rds_replica_status存储过程以返回类似信息。有关更多信息,请参阅“mysql.rds_replica_status”。 -
SHOW RELAYLOG EVENTS 命令不受支持 – 在 10.5 之前的 MariaDB 版本中,
SHOW RELAYLOG EVENTS命令需要REPLICATION SLAVE特权。在 MariaDB 10.5 版本中,此命令需要REPLICATION REPLICA ADMIN特权。此新权限不会向 RDS 主用户授予。 -
参数的新默认值 – 对于 MariaDB 10.5 版本数据库实例,以下参数具有新的默认值:
-
max_connections
参数的默认值已更改为 LEAST({DBInstanceClassMemory/25165760},12000)。有关LEAST参数函数的信息,请参阅 数据库参数函数。 -
innodb_adaptive_hash_index
参数的默认值已更改为 OFF(0)。 -
innodb_checksum_algorithm
参数的默认值已更改为 full_crc32。 -
innodb_log_file_size
参数的默认值已更改为 2 GB。
-
有关所有 MariaDB 10.5 特征的列表及其文档,请参阅 MariaDB 网站上的 MariaDB 10.5 中的更改和改进
有关不支持特征的列表,请参阅 Amazon RDS 不支持的 MariaDB 特征。
Amazon RDS 上对 MariaDB 10.4 的支持
对于运行 MariaDB 版本 10.4 或更高版本的数据库实例,Amazon RDS 支持以下新特征:
-
优化程序增强 – 优化程序跟踪特征
-
InnoDB 增强 – 即时 DROP COLUMN 支持
以及 VARCHAR和ROW_FORMAT=DYNAMIC的即时ROW_FORMAT=COMPACT扩展 -
新参数 – 包括 tcp_nodedelay
、tls_version 和 gtid_cleanup_batch_size
有关所有 MariaDB 10.4 特征的列表及其文档,请参阅 MariaDB 网站上的 MariaDB 10.4 中的更改和改进
有关不支持特征的列表,请参阅 Amazon RDS 不支持的 MariaDB 特征。