

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

# 在 MySQL 8.4 中設定緩衝集區大小和重做日誌容量
<a name="Appendix.MySQL.CommonDBATasks.Config.Size.8.4"></a>

在 MySQL 8.4 中，Amazon RDS 預設會啟用 `innodb_dedicated_server` 參數。使用 `innodb_dedicated_server` 參數，資料庫引擎會計算 `innodb_buffer_pool_size` 和 `innodb_redo_log_capacity` 參數。如需如何計算這些參數的資訊，請參閱 MySQL 文件中的[設定 InnoDB 緩衝集區大小](https://dev.mysql.com/doc/refman/8.4/en/innodb-buffer-pool-resize.html)和[重做日誌](https://dev.mysql.com/doc/refman/8.4/en/innodb-redo-log.html)。

`innodb_dedicated_server` 啟用後，`innodb_buffer_pool_size` 參數會根據資料庫執行個體類別記憶體計算。下表顯示偵測到的伺服器記憶體和對應的緩衝集區大小。


| 偵測到的伺服器記憶體 | 緩衝集區大小 | 
| --- | --- | 
|  < 1 GB  |  預設值為 128 MB  | 
|  1 GB 到 4 GB  |  *偵測到的伺服器記憶體* \$1 0.5  | 
|  > 4 GB  |  *偵測到的伺服器記憶體* \$1 0.75  | 

`innodb_redo_log_capacity` 參數會隨著執行個體類別自動擴展至 (vCPU 數量 / 2) GB，上限為 16 GB。較大的執行個體類別具有較大的重做日誌容量，可改善寫入密集型工作負載的效能和彈性。

從 MySQL 8.0 升級到 MySQL 8.4 之前，請務必增加儲存空間，以因應升級完成後可能發生的重做日誌大小增加的潛在情況。如需詳細資訊，請參閱[增加資料庫執行個體的儲存容量](USER_PIOPS.ModifyingExisting.md)。

如果您不希望 `innodb_dedicated_server` 參數計算 `innodb_buffer_pool_size` 和 `innodb_redo_log_capacity` 參數的值，您可以透過在自訂參數群組中為其設定特定值來覆寫這些值。或者，您可以停用 `innodb_dedicated_server` 參數，並設定自訂參數群組中 `innodb_buffer_pool_size` 和 `innodb_redo_log_capacity` 參數的值。如需詳細資訊，請參閱[預設和自訂參數群組](parameter-groups-overview.md#parameter-groups-overview.custom)。

如果您透過將 `innodb_dedicated_server` 參數設定為 `0` 來停用參數，且未針對 `innodb_buffer_pool_size` 和 `innodb_redo_log_capacity` 參數設定值，則 Amazon RDS 會將後兩個參數分別設定為 128 MB 和 100 MB。這些預設值會導致較大的執行個體類別效能不佳。