文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美國信紙尺寸) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  啟用專用 MySQL 伺服器的自動配置

17.8.12 啟用專用 MySQL 伺服器的自動配置

當啟用 innodb_dedicated_server 時,InnoDB 會自動設定以下變數

只有在 MySQL 執行個體位於專用伺服器上,可以利用所有可用系統資源時,才考慮啟用 innodb_dedicated_server。例如,如果您在僅執行 MySQL 的 Docker 容器或專用虛擬機器中執行 MySQL 伺服器,請考慮啟用 innodb_dedicated_server。如果 MySQL 執行個體與其他應用程式共用系統資源,則不建議啟用 innodb_dedicated_server

以下資訊說明如何自動設定每個變數。

  • innodb_buffer_pool_size

    緩衝池大小是根據伺服器上偵測到的記憶體量來設定的。

    表格 17.8 自動設定的緩衝池大小

    偵測到的伺服器記憶體 緩衝池大小
    小於 1GB 128MB (預設值)
    1GB 至 4GB 偵測到的伺服器記憶體 * 0.5
    大於 4GB 偵測到的伺服器記憶體 * 0.75

  • innodb_redo_log_capacity

    重做日誌容量是根據伺服器上可用的邏輯處理器數量來設定的。公式為(可用邏輯處理器數量 / 2)GB,最大動態預設值為 16 GB。

    注意

    在 MySQL 8.4 之前,此值是基於可用記憶體而不是可用邏輯處理器。

  • innodb_log_file_size (已棄用)

    日誌檔案大小是根據自動設定的緩衝池大小來設定的。

    表格 17.9 自動設定的日誌檔案大小

    緩衝池大小 日誌檔案大小
    小於 8GB 512MB
    8GB 至 128GB 1024MB
    大於 128GB 2048MB

  • innodb_log_files_in_group (已棄用)

    日誌檔案的數量是根據自動設定的緩衝池大小來設定的。

    表格 17.10 自動設定的日誌檔案數量

    緩衝池大小 日誌檔案數量
    小於 8GB round(緩衝池大小)
    8GB 至 128GB round(緩衝池大小 * 0.75)
    大於 128GB 64

    注意

    如果四捨五入的緩衝池大小值小於 2GB,則強制執行最小 innodb_log_files_in_group 值為 2。

如果在選項檔案或其他地方明確配置了自動配置的選項,則會使用明確指定的設定,並將類似以下的啟動警告列印到 stderr

[警告] [000000] InnoDB: 因為已明確指定 innodb_buffer_pool_size=134217728,所以 innodb_dedicated_server 選項會被 innodb_buffer_pool_size 忽略。

明確配置一個選項不會阻止其他選項的自動配置。

如果啟用 innodb_dedicated_server 且明確配置了 innodb_buffer_pool_size,則根據緩衝池大小配置的變數會使用根據伺服器上檢測到的記憶體量計算出的緩衝池大小值,而不是明確定義的緩衝池大小值。

每次啟動 MySQL 伺服器時,都會評估並重新配置自動配置的設定(如有必要)。