Amazon RDS 上的 MariaDB 功能支援 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon RDS 上的 MariaDB 功能支援

RDS for MariaDB 支援 MariaDB 的大多數特性與功能。部分功能的支援或權限可能有所限制。

您可以在資料庫的最新資訊頁面上篩選新的 Amazon RDS 功能。對於 Products (產品),請選擇 Amazon RDS。然後使用關鍵字搜尋,例如 MariaDB 2023

注意

以下清單並非詳盡清單。

Amazon RDS for MariaDB 主要版本的 MariaDB 功能支援

在下面的章節中,參閱 Amazon RDS for MariaDB 主要版本的 MariaDB 功能支援相關資訊:

如需 Amazon RDS for MariaDB 支援次要版本的相關資訊,請參閱 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_NUMBERSFORMATRANDOM_BYTES 函數。SFORMAT 允許設定字串格式,且預設為啟用。您可以使用單一命令進行分割區與資料表的相互轉換。JSON_*() 函數也有幾項改進。DES_ENCRYPTDES_DECRYPT 函數在 10.10 及更高版本中已棄用。如需詳細資訊,請參閱 SFORMAT

  • InnoDB 增強功能 - 這些增強功能包括下列項目:

    • 重做日誌中的效能改進,可減少寫入放大現象並改善並行。

    • 您可以變更復原資料表空間,而不需重新初始化資料目錄。此增強功能可減少控制平面額外負荷。它需要重新啟動,但在變更復原資料表空間後不需重新初始化。

    • 支援 CHECK TABLE … EXTENDED 及在內部遞減排序索引。

    • 大量插入的改進。

  • Binlog 變更 - 這些變更包括下列項目:

    • 分兩個階段記錄 ALTER 以減少複寫延遲。binlog_alter_two_phase 參數預設為停用,但可透過參數群組啟用。

    • 記錄 explicit_defaults_for_timestamp

    • 如果交易可安全地復原,則不再記錄 INCIDENT_EVENT

  • 複寫改進 - 如果主要執行個體支援,則 MariaDB 10.11 版資料庫執行個體預設會使用 GTID 複寫。此外,Seconds_Behind_Master 更精確。

  • 用戶端 - 您可以使用 mysqlbinglogmariadb-dump 的新命令列選項。您可以使用 mariadb-dump 傾印和還原歷史資料。

  • 系統版本控制 - 您可以修改歷史記錄。MariaDB 會自動建立新的分割區。

  • 原子 DDL - CREATE OR REPLACE 現在為原子。陳述式成功,或是完全失敗。

  • 重做日誌寫入 - 重做日誌以非同步方式寫入。

  • 預存函數 - 預存函數現在可支援與預存程序中相同的 INOUTINOUT 參數。

  • 已棄用或移除的參數 - MariaDB 10.11 版資料庫執行個體已棄用或移除下列參數:

  • 動態參數 - 下列參數現在為 MariaDB 10.11 版資料庫執行個體的動態參數:

  • 參數的新預設值:下列參數在 MariaDB 10.11 版資料庫執行個體中有新的預設值:

  • 參數的新有效值:下列參數在 MariaDB 10.11 版資料庫執行個體中有新的有效值:

  • 新參數 - 下列參數是 MariaDB 10.11 版資料庫執行個體的新參數:

如需所有功能和文件清單,請參閱 MariaDB 網站上的下列資訊。

如需未支援的功能清單,請參閱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:若使用 RDS for MariaDB 10.6 版,您的動態資料語言 (DDL) 陳述式會具有較強的損毀安全 (Crash-safe) 功能。CREATE TABLEALTER TABLERENAME TABLEDROP TABLEDROP DATABASE 和相關的 DDL 陳述式現在不可部分完成。陳述式要么成功,要么完全失敗。如需詳細資訊,請參閱不可部分完成 DDL

  • 其他增強功能:這些增強功能包括在 SQL 中將 JSON 資料轉換為關係格式的 JSON_TABLE 函數,以及使用 Innodb 更快地加載空白資料表資料。其中還包括用於分析和故障排除的新 sys_schema、忽略未使用索引的最佳化程序增強功能以及效能改進。如需詳細資訊,請參閱 JSON_TABLE

  • 參數的新預設值:下列參數具有 MariaDB 10.6 版資料庫執行個體的新預設值:

如需所有 MariaDB 10.6 功能的清單及其文件,請參閱 MariaDB 網站上的 MariaDB 10.6 的變更和改進版本備註 - MariaDB 10.6 系列

如需未支援的功能清單,請參閱Amazon RDS 不支援的 MariaDB 功能

Amazon RDS 上的 MariaDB 10.5 支援

對於執行 MariaDB 10.5 版或更新版本的資料庫執行個體,Amazon RDS 支援下列新功能:

  • InnoDB 增強 – MariaDB 10.5 版,包括 InnoDB 增強。如需詳細資訊,請參閱 MariaDB 文件中的 InnoDB:效能改進等

  • 效能結構描述更新 – MariaDB 10.5 版,包括效能結構描述更新。如需詳細資訊,請參閱 MariaDB 文件中的效能結構描述更新以符合 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 參數的值加倍。如需修改參數的相關資訊,請參閱修改資料庫參數群組中的參數

  • 不支援 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 版資料庫執行個體的新預設值:

如需所有 MariaDB 10.5 功能的清單及其文件,請參閱 MariaDB 網站上的 MariaDB 10.5 的變更和改進版本備註 - MariaDB 10.5 系列

如需未支援的功能清單,請參閱Amazon RDS 不支援的 MariaDB 功能

Amazon RDS 上的 MariaDB 10.4 支援

對於執行 MariaDB 10.4 版或更新版本的資料庫執行個體,Amazon RDS 支援下列新功能:

如需所有 MariaDB 10.4 功能的清單及其文件,請參閱 MariaDB 網站上的 MariaDB 10.4 的變更和改進版本備註 - MariaDB 10.4 系列

如需未支援的功能清單,請參閱Amazon RDS 不支援的 MariaDB 功能

Amazon RDS 上的 MariaDB 10.3 支援

對於執行 MariaDB 10.3 版或更新版本的資料庫執行個體,Amazon RDS 支援下列新功能:

  • Oracle 相容性 – PL/SQL 相容性剖析器、序列、INTERSECT 和 EXCEPT 以補充 UNION、全新 TYPE OF 和 ROW TYPE OF 宣告,以及不可見欄位

  • 暫存資料處理 – 系統版本控制表,用於查詢過去和現在的資料庫狀態

  • 彈性 – 使用者定義的彙總、儲存獨立的欄位壓縮,以及代理通訊協定支援,可將用戶端 IP 地址轉送到伺服器

  • 易管理性 – 快速 ADD COLUMN 操作,以及快速失敗資料定義語言 (DDL) 操作

如需所有 MariaDB 10.3 功能的清單及其說明文件,請參閱 MariaDB 網站上的 MariaDB 10.3 的變更和改進版本備註 - MariaDB 10.3 系列

如需未支援的功能清單,請參閱Amazon RDS 不支援的 MariaDB 功能

Amazon RDS 上的 MariaDB 支援的儲存引擎

RDS for MariaDB 支援以下儲存引擎。

RDS for MariaDB 目前不支援其他儲存引擎。

InnoDB 儲存引擎

雖然 MariaDB 支援多種功能不盡相同的儲存引擎,但並非所有引擎的復原能力和資料耐用性都經過最佳化設計。InnoDB 為 Amazon RDS 上 MariaDB 資料庫執行個體的推薦儲存引擎。時間點還原和快照還原等 Amazon RDS​ 功能皆須搭配可復原的儲存引擎才能執行,且僅有適用於 MariaDB 版本的建議儲存引擎才支援這些功能。

如需詳細資訊,請參閱 InnoDB

MyRocks 儲存引擎

MyRocks 儲存引擎可用於 RDS for MariaDB 10.6 版及更高版本。在生產資料庫中使用 MyRocks 儲存引擎之前,我們建議您執行徹底的基準化分析和測試,以驗證您的使用案例相對於 InnoDB 是否具有任何潛在優勢。

MariaDB 10.6 版的預設參數群組包括 MyRocks 參數。如需詳細資訊,請參閱 MariaDB 的參數使用參數群組

若要建立使用 MyRocks 儲存引擎的資料表,請在 CREATE TABLE 陳述式中指定 ENGINE=RocksDB。下列範例會建立使用 MyRocks 儲存引擎的資料表。

CREATE TABLE test (a INT NOT NULL, b CHAR(10)) ENGINE=RocksDB;

強烈建議您不要執行跨越 InnoDB 和 MyRocks 資料表的交易處理。MariaDB 不保證跨儲存引擎的交易處理 ACID (不可部分完成性、一致性、隔離性、持久性)。儘管可以在資料庫執行個體中同時包含 InnoDB 和 MyRocks 資料 表,但我們不建議使用此方法,除非處於從一個儲存引擎遷移至另一個儲存引擎期間。當 InnoDB 和 MyRocks 資料表都存在於資料庫執行個體中時,每個儲存引擎都有自己的緩衝集區,這可能會導致效能下降。

MyRocks 不支援 SERIALIZABLE 隔離或間隙鎖定。所以,通常您不能將 MyRocks 用於基於陳述句的複寫。如需詳細資訊,請參閱 MyRocks 和複寫

目前,您只能修改下列 MyRocks 參數:

MyRocks 儲存引擎和 InnoDB 儲存引擎可根據 rocksdb_block_cache_sizeinnodb_buffer_pool_size 參數的設定來競爭記憶體。在某些情況下,您可能只打算在特定資料庫執行個體上使用 MyRocks 儲存引擎。如果是這樣,建議將 innodb_buffer_pool_size minimal 參數設定為最小值,同時將盡力提高 rocksdb_block_cache_size 的值。

您可以使用 DescribeDBLogFilesDownloadDBLogFilePortion 操作存取 MyRocks 日誌檔案。

如需有關 MyRocks 的詳細資訊,請參閱 MariaDB 網站上的 MyRocks

Amazon RDS 上 MariaDB 的快取預備

InnoDB 快取預備功能可在資料庫執行個體關閉時,儲存緩衝集區的當前狀態,等到資料庫執行個體啟動時,再使用儲存的資訊重新載入緩衝集區,藉此提升 MariaDB 資料庫執行個體的效能。此方法不必在資料庫正常使用情況下將緩衝集區「熱機」,而是將已知常用查詢的頁面預先載入緩衝集區。如需快取預備功能的詳細資訊,請參閱 MariaDB 文件中的 Dumping and restoring the buffer pool (傾印和還原緩衝集區)。

在 MariaDB 10.3 版和更新版本的資料庫執行個體上,會預設啟用快取預備功能。如果要自行啟用該功能,請在資料庫執行個體的參數群組中,將 innodb_buffer_pool_dump_at_shutdowninnodb_buffer_pool_load_at_startup 參數設為 1。在參數群組中變更這些參數值會影響使用該參數群組的所有 MariaDB 資料庫執行個體。請先為資料庫執行個體建立新的參數群組,才能啟用特定 MariaDB 資料庫執行個體的快取預備功能。如需參數群組的相關資訊,請參閱使用參數群組

快取預備功能主要可為使用標準儲存體的資料庫執行個體提供效能方面的好處。若您使用的是 PIOPS 儲存體,一般來說不會察覺到顯著的效能優勢。

重要

如果您的 MariaDB 資料庫執行個體沒有正常關閉 (例如容錯移轉期間),則緩衝集區狀態不會儲存到磁碟中。這種情形下,MariaDB 會在資料庫執行個體重新啟動時,載入任何可用的緩衝集區檔案。這不會造成任何損害,只是還原的緩衝集區無法反映緩衝集區在重新啟動之前的最新狀態。為確保您有最新狀態的緩衝集區可在啟動時預備快取,建議您定期「隨需」傾印緩衝集區。您可以隨需傾印或載入緩衝集區。

您可建立事件,以定期自動傾印緩衝集區。舉例來說,下列陳述式會建立名為 periodic_buffer_pool_dump 的事件,每小時傾印緩衝集區一次。

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

如需詳細資訊,請參閱 MariaDB 文件中的事件

隨需傾印與載入緩衝集區

您可以使用下列預存程序來隨需儲存和載入快取:

Amazon RDS 不支援的 MariaDB 功能

Amazon RDS 上不支援下列 MariaDB 功能:

  • S3 儲存引擎

  • 身分驗證外掛程式 – GSSAPI

  • 身分驗證外掛程式 – Unix Socket

  • AWS Key Management 加密外掛程式

  • 低於 MariaDB 10.6 版的延遲複寫

  • InnoDB 和 Aria 的原生 MariaDB 靜態加密

    您可以按照 加密 Amazon RDS 資源 中的說明啟用 MariaDB 資料庫執行個體的靜態加密。

  • HandlerSocket

  • 低於 MariaDB 10.6 版的 JSON 資料表類型

  • MariaDB ColumnStore

  • MariaDB Galera 叢集

  • 多來源複寫

  • 低於 MariaDB 10.6 版的 MyRocks 儲存引擎

  • 密碼驗證外掛程式、simple_password_checkcracklib_password_check

  • Spider 儲存引擎

  • Sphinx 儲存引擎

  • TokuDB 儲存引擎

  • 儲存引擎專屬物件屬性,如 MariaDB 文件中的引擎定義的新資料表/欄位/索引屬性所述

  • 資料表和資料表空間加密

  • Hashicorp 金鑰管理外掛程式

  • 同時執行兩項升級

為了提供受管理的服務體驗,Amazon RDS 並不提供資料庫執行個體的 Shell 存取權,而且會將存取權限制於某些需要進階權限的系統程序和資料表。Amazon RDS 可支援使用任何標準 SQL 用戶端應用程式存取資料庫執行個體上的資料庫。Amazon RDS 不允許使用者利用 Telnet、安全殼層 (SSH) 或 Windows 遠端桌面連線,直接託管資料庫執行個體的存取權。