比較 Aurora 我的SQL版本 2 和 Aurora 我的SQL版本 3 - Amazon Aurora

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

比較 Aurora 我的SQL版本 2 和 Aurora 我的SQL版本 3

使用以下內容來瞭解將 Aurora My SQL 版本 2 叢集升級到版本 3 時應注意的變更。

Aurora 我的SQL版本 2 和 3 之間的功能差異

以下 Amazon Aurora 我的SQL功能在我SQL的 SQL 5.7 的 Aurora 中受到支援,但我的 SQL 8.0 的 Aurora 我SQL的功能不支援這些功能:

  • 您無法將 Aurora 我的SQL版本 3 用於 Aurora Serverless v1 叢集。Aurora 我的SQL版本 3 適用於 Aurora Serverless v2。

  • 實驗室模式不適用於 Aurora 我的SQL版本 3。Aurora 我的SQL版本 3 中沒有任何實驗室模式功能。Instant 會DDL取代以前在實驗室模式中提供的快速線上DDL功能。如需範例,請參閱即時 DDL (Aurora MySQL 第 3 版)

  • 查詢緩存已從社區 My SQL 8.0 以及 Aurora 我的SQL版本 3 中刪除。

  • Aurora 我的SQL版本 3 與社群相容我的SQL雜湊加入功能。不使用 Aurora 我的SQL版本 2 中特定於 Aurora 的哈希聯接實現。如需搭配使用雜湊聯結與 Aurora 平行查詢的相關資訊,請參閱開啟平行查詢叢集的雜湊聯結Aurora 我的SQL提示。如需有關雜湊聯結的一般使用資訊,請參閱《我的SQL參考手冊》中的雜湊聯結最佳化

  • 在版本 3 中移除 Aurora 我的SQL版本 2 中已淘汰的mysql.lambda_async預存程序。對於第 3 版,請改用非同步函數 lambda_async

  • Aurora 我的SQL版本 3 中的默認字符集是utf8mb4。在 Aurora 我的SQL版本 2 中,默認的字符集是latin1如需有關此字元集的資訊,請參閱我的參考手冊中的 utf8mb4 字元集 (4 位元組 UTF -8 Unicode 編碼)。SQL

某些 Aurora My SQL 功能適用於 AWS 區域和資料庫引擎版本的特定組合。如需詳細資訊,請參閱 Amazon Aurora AWS 區域 和 Aurora 資料庫引擎支援的功能

執行個體類別支援

Aurora 我的SQL版本 3 支持一組與 Aurora 我的SQL版本 2 不同的實例類:

  • 對於較大的執行個體,您可以使用新式執行個體類別,例如 db.r5db.r6gdb.x2g

  • 對於較小的執行個體,您可以使用新式執行個體類別,例如 db.t3db.t4g

    注意

    建議您在開發、測試伺服器或其他非生產伺服器時,僅使用 T 資料庫執行個體類別。如需詳細了解 T 執行個體類別,請參閱 使用 T 執行個體類別進行開發和測試

下列來自 Aurora 我的SQL版本 2 的執行個體類別不適用於我的SQL版本 3 的 Aurora:

  • db.r4

  • db.r3

  • db.t3.small

  • db.t2

檢查管理指令碼是否有任何建立 Aurora My SQL DB 執行個體的CLI陳述式。Aurora 我的SQL版本 3 不可用的硬編碼實例類名稱。如有必要,請將實體類別名稱修改為 Aurora My SQL 版本 3 支援的名稱。

提示

若要檢查可用於 Aurora My SQL 版本和 AWS 區域特定組合的執行個體類別,請使用describe-orderable-db-instance-options AWS CLI 命令。

如需 Aurora 執行個體類別的完整詳細資訊,請參閱 Amazon Aurora 數據庫實例類

Aurora 的參數更改我的SQL版本 3

Aurora 我的SQL版本 3 包含新的叢集層級和執行個體層級組態參數。Aurora 我的SQL版本 3 還刪除了 Aurora 我的SQL版本 2 中存在的一些參數。有些參數名稱會由於包容性語言的倡議而變更。為了回溯相容性,您仍然可以使用舊名稱或新名稱來擷取參數值。不過,您必須使用新名稱來指定自訂參數群組中的參數值。

在 Aurora My SQL 版本 3 中,lower_case_table_names參數的值會在建立叢集時永久設定。如果您對此選項使用非預設值,請在升級之前設定 Aurora My SQL 版本 3 自訂參數群組。然後,在建立叢集或快照還原作業期間指定參數群組。

注意

使用以 Aurora My 為基礎的 Aurora 全域資料庫SQL,如果lower_case_table_names參數已開啟,則無法執行從 Aurora 我SQL的版本 2 到第 3 版的就地升級。請改用快照還原技術。

在 Aurora 我的SQL版本 3 中,init_connectread_only參數不適用於具有CONNECTION_ADMIN權限的使用者。這包括 Aurora 主要使用者。如需詳細資訊,請參閱角色型權限模型

如需 Aurora 我的SQL叢集參數的完整清單,請參閱叢集層級參數。該表涵蓋了 Aurora 我的SQL版本 2 和 3 的所有參數。該表包含註釋,顯示 Aurora 我的版本 3 中的新參數或從 Aurora 我的SQL版SQL本 3 中刪除了哪些參數。

如需 Aurora 我的SQL執行個體參數的完整清單,請參閱執行個體層級參數。該表涵蓋了 Aurora 我的SQL版本 2 和 3 的所有參數。此表格包含附註,顯示 Aurora 我的SQL版本 3 中的新參數,以及從 Aurora 我的SQL版本 3 中移除了哪些參數。它還包括說明哪些參數在早期版本中可修改,但不是 Aurora My SQL 版本 3 中可修改的註釋。

如需已變更之參數名稱的相關資訊,請參閱 Aurora 的包容性語言更改我的SQL版本 3

狀態變數

如需不適用於 Aurora My 狀態變數的相關資訊SQL,請參閱我的SQL狀態變數不適用於我的 Aurora SQL

Aurora 的包容性語言更改我的SQL版本 3

Aurora 我的SQL版本 3 與我的SQL社群版本 8.0.23 版相容。Aurora 我的SQL版本 3 還包括與包容性語言的關鍵字和系統模式相關的 My SQL 8.0.26 的更改。例如,SHOW REPLICA STATUS 命令現在是偏好的命令,而不是 SHOW SLAVE STATUS

以下 Amazon CloudWatch 指標在 Aurora 我的SQL版本 3 中具有新名稱。

在 Aurora 我的SQL版本 3 中,只有新的度量名稱可用。升級至 Aurora My SQL 版本 3 時,請務必更新任何依賴指標名稱的警示或其他自動化操作。

舊名稱 新名稱
ForwardingMasterDMLLatency ForwardingWriterDMLLatency
ForwardingMasterOpenSessions ForwardingWriterOpenSessions
AuroraDMLRejectedMasterFull AuroraDMLRejectedWriterFull
ForwardingMasterDMLThroughput ForwardingWriterDMLThroughput

下列狀態變數在 Aurora 我的SQL版本 3 中具有新名稱。

為了獲得相容性,您可以在最初的 Aurora My SQL 版本 3 版本中使用其中一個名稱。舊的狀態變數名稱將在未來版本中移除。

要移除的名稱 新名稱或偏好名稱
Aurora_fwd_master_dml_stmt_duration Aurora_fwd_writer_dml_stmt_duration
Aurora_fwd_master_dml_stmt_count Aurora_fwd_writer_dml_stmt_count
Aurora_fwd_master_select_stmt_duration Aurora_fwd_writer_select_stmt_duration
Aurora_fwd_master_select_stmt_count Aurora_fwd_writer_select_stmt_count
Aurora_fwd_master_errors_session_timeout Aurora_fwd_writer_errors_session_timeout
Aurora_fwd_master_open_sessions Aurora_fwd_writer_open_sessions
Aurora_fwd_master_errors_session_limit Aurora_fwd_writer_errors_session_limit
Aurora_fwd_master_errors_rpc_timeout Aurora_fwd_writer_errors_rpc_timeout

下列組態參數在 Aurora 我的SQL版本 3 中具有新名稱。

為了獲得相容性,您可以在最初的 Aurora My SQL 版本 3 發行版本中使用其中一個名稱來檢查用mysql戶端中的參數值。修改自訂參數群組中的值時,您只能使用新名稱。舊的參數名稱將在未來版本中移除。

要移除的名稱 新名稱或偏好名稱
aurora_fwd_master_idle_timeout aurora_fwd_writer_idle_timeout
aurora_fwd_master_max_connections_pct aurora_fwd_writer_max_connections_pct
master_verify_checksum source_verify_checksum
sync_master_info sync_source_info
init_slave init_replica
rpl_stop_slave_timeout rpl_stop_replica_timeout
log_slow_slave_statements log_slow_replica_statements
slave_max_allowed_packet replica_max_allowed_packet
slave_compressed_protocol replica_compressed_protocol
slave_exec_mode replica_exec_mode
slave_type_conversions replica_type_conversions
slave_sql_verify_checksum replica_sql_verify_checksum
slave_parallel_type replica_parallel_type
slave_preserve_commit_order replica_preserve_commit_order
log_slave_updates log_replica_updates
slave_allow_batching replica_allow_batching
slave_load_tmpdir replica_load_tmpdir
slave_net_timeout replica_net_timeout
sql_slave_skip_counter sql_replica_skip_counter
slave_skip_errors replica_skip_errors
slave_checkpoint_period replica_checkpoint_period
slave_checkpoint_group replica_checkpoint_group
slave_transaction_retries replica_transaction_retries
slave_parallel_workers replica_parallel_workers
slave_pending_jobs_size_max replica_pending_jobs_size_max
pseudo_slave_mode pseudo_replica_mode

下列預存程序在 Aurora 我的SQL版本 3 中具有新名稱。

為了獲得相容性,您可以在最初的 Aurora My SQL 版本 3 版本中使用其中一個名稱。未來版本將移除舊的程序名稱。

要移除的名稱 新名稱或偏好名稱
mysql.rds_set_master_auto_position mysql.rds_set_source_auto_position
mysql.rds_set_external_master mysql.rds_set_external_source
mysql.rds_set_external_master_with_auto_position mysql.rds_set_external_source_with_auto_position
mysql.rds_reset_external_master mysql.rds_reset_external_source
mysql.rds_next_master_log mysql.rds_next_source_log

AUTO_ INCREMENT 值

在 Aurora 我的SQL版本 3 中,Aurora 會在AUTO_INCREMENT重新啟動每個資料庫執行個體時保留每個表的值。在 Aurora 我的SQL版本 2 中,重新啟動後不會保留該AUTO_INCREMENT值。

當您透過從快照還原、執行 point-in-time 復原和複製叢集來設定新叢集時,不會保留該AUTO_INCREMENT值。在這些情況下,AUTO_INCREMENT 值會在建立快照時初始化為基於資料表中最大資料欄值的值。此行為與 My SQL 8.0 中的行RDS為不同,其中AUTO_INCREMENT值會在這些操作期間保留。

二進位日誌複寫

在 My SQL 8.0 社區版中,默認情況下,二進制日誌複製處於打開狀態。在 Aurora 我的SQL版本 3 中,預設會關閉二進位記錄複寫。

提示

如果 Aurora 內建複寫功能滿足您的高可用性需求,您可以將二進位日誌複寫保留關閉狀態。如此一來,就可以避免二進位日誌複寫的效能負荷。也可以避免管理二進位日誌複寫所需的相關聯監控和疑難排解。

Aurora 支援從 My SQL 5.7 相容來源到 Aurora 我的版本 3 的二進位記錄複寫。SQL來源系統可以是 Aurora My SQL 資料庫叢集、My RDS 資SQL料庫執行個體或內部部署 My SQL 執行個體。

社群 MySQL, Aurora My 也SQL支援從執行特定版本的來源複寫到執行相同主要版本或更高一個主要版本的目標。例如,不支援從 My SQL 5.6 相容系統複寫至 Aurora 我的SQL版本 3。不支援從 Aurora 我的SQL版本 3 複製到與我的 SQL 5.7 相容或與我的 SQL 5.6 相容系統。如需使用二進位日誌複寫的詳細資訊,請參閱 在 Aurora 和我之間SQL或 Aurora 與另一個 Aurora 資料庫叢集之間的複寫 (二進位記錄複寫

Aurora 我的SQL版本 3 包括對社區 My SQL 8.0 中二進制日誌複寫的改進,例如過濾的複寫。如需社群 My SQL 8.0 改進的詳細資訊,請參閱《我的SQL參考手冊》中的伺服器如何評估複寫篩選規則

二進位日誌複寫的交易壓縮

如需有關二進位記錄壓縮的使用資訊,請參閱我的SQL參考手冊中的二進位記錄檔交易壓縮

下列限制適用於 Aurora 我的SQL版本 3 中的二進位記錄壓縮:

  • 其二進位日誌資料大於最大允許封包大小的交易不會進行壓縮。無論是否開啟 Aurora 我的SQL二進位記錄壓縮設定,都是如此。這類交易會在不壓縮的情況下進行複寫。

  • 如果您使用連接器進行不支援 My SQL 8.0 的變更資料擷取 (CDC),則無法使用此功能。建議您使用二進位日誌壓縮,完整測試任何第三方連接器。此外,我們建議您在使用 binlog 複寫的系統上開啟 binlog 壓縮之前先這麼做。CDC