本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon RDS 上的 MySQL 功能支援
RDS for MySQL 支援 MySQL 的大多數特性與功能。部分功能的支援或權限可能有所限制。
您可以在資料庫的最新資訊MySQL 2022
。
注意
以下清單並非詳盡清單。
主題
支援的 RDS for MySQL 儲存引擎
雖然 MySQL 支援多種功能不盡相同的儲存引擎,但並非所有引擎的復原能力和資料耐用性都經過最佳化設計。Amazon RDS 可完整支援適用於 MySQL 資料庫執行個體的 InnoDB 儲存引擎。時間點還原和快照還原等 Amazon RDS 功能皆需搭配可復原的儲存引擎才能執行,且僅支援 InnoDB 儲存引擎。如需詳細資訊,請參閱 我的SQL內存緩存支持。
聯合儲存引擎目前不支援 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 資料庫執行個體的效能。如此一來,系統不必從正常的資料庫使用方式開始為緩衝集區「熱機」,而是透過已知常用查詢的頁面預先載入緩衝集區。儲存緩衝集區資訊的檔案只會存放緩衝集區中的頁面中繼資料,而非頁面本身。因此,該檔案不需要太多儲存空間。檔案大小約為快取大小的 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 快取預備功能,您必須為該執行個體另外建立新的參數群組。如需參數群組的相關資訊,請參閱 的參數組 RDS。
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 快取。
若要將緩衝集區的最新狀態傾印至磁碟,請呼叫 mysql.rds_innodb_buffer_pool_dump_now 預存程序。
若要從磁碟載入所儲存的緩衝集區狀態,請呼叫 mysql.rds_innodb_buffer_pool_load_now 預存程序。
若要取消進行中的載入操作,請呼叫 mysql.rds_innodb_buffer_pool_load_abort 預存程序。
Amazon RDS 不支援的 MySQL 功能
Amazon RDS 目前不支援下列 MySQL 功能:
-
身分驗證外掛程式
-
登入系統日誌時發生錯誤
-
InnoDB 資料表空間加密
-
密碼強度外掛程式
-
持續的系統變數
-
重寫器查詢重寫外掛程式
-
半同步複寫
-
可傳輸的資料表空間
-
X 外掛程式
注意
所有 RDS for MySQL 5.7.版,以及 MySQL 8.0.26 和更新的 8.0 版都支援全域交易 ID。
為了提供受管理的服務體驗,Amazon RDS 並不會提供資料庫執行個體的殼層存取權。而且會將存取權限制在某些需要進階權限的系統程序和資料表。Amazon RDS 可支援使用任何標準 SQL 用戶端應用程式存取資料庫執行個體上的資料庫。Amazon RDS 不允許使用者利用 Telnet、安全殼層 (SSH) 或 Windows 遠端桌面連線,直接託管資料庫執行個體的存取權。當您建立資料庫執行個體時,系統會將您指派為該執行個體上所有資料庫的 db_owner,而且您擁有所有資料庫層級權限,但用於備份的權限除外。Amazon RDS 會為您管理備份。