Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  ...  /  Enabling Automatic Configuration for a Dedicated MySQL Server

17.8.12 为专用 MySQL 服务器启用自动配置

When innodb_dedicated_server is enabled, InnoDB automatically configures the following variables:

Only consider enabling innodb_dedicated_server if the MySQL instance resides on a dedicated server where it can use all available system resources. For example, consider enabling innodb_dedicated_server if you run MySQL Server in a Docker container or dedicated VM that only runs MySQL. Enabling innodb_dedicated_server is not recommended if the MySQL instance shares system resources with other applications.

The information that follows describes how each variable is automatically configured.

  • innodb_buffer_pool_size

    Buffer pool size is configured according to the amount of memory detected on the server.

    Table 17.8 Automatically Configured Buffer Pool Size

    Detected Server Memory Buffer Pool Size
    Less than 1GB 128MB (the default value)
    1GB to 4GB detected server memory * 0.5
    Greater than 4GB detected server memory * 0.75

  • innodb_redo_log_capacity

    Redo log capacity is configured according to the amount of logical processors available on the server. The formula is (number of available logical processors / 2) GB, with a maximum dynamic default value of 16 GB.

    Note

    Before MySQL 8.4, this value was based on available memory instead of available logical processors.

  • innodb_log_file_size (deprecated)

    Log file size is configured according to the automatically configured buffer pool size.

    Table 17.9 Automatically Configured Log File Size

    Buffer Pool Size Log File Size
    Less than 8GB 512MB
    8GB to 128GB 1024MB
    Greater than 128GB 2048MB

  • innodb_log_files_in_group (deprecated)

    The number of log files is configured according to the automatically configured buffer pool size.

    Table 17.10 Automatically Configured Number of Log Files

    Buffer Pool Size Number of Log Files
    Less than 8GB round(buffer pool size)
    8GB to 128GB round(buffer pool size * 0.75)
    Greater than 128GB 64

    Note

    The minimum innodb_log_files_in_group value of 2 is enforced if the rounded buffer pool size value is less than 2GB.

If an automatically configured option is configured explicitly in an option file or elsewhere, the explicitly specified setting is used, and a startup warning similar to this is printed to stderr:

[Warning] [000000] InnoDB: Option innodb_dedicated_server is ignored for innodb_buffer_pool_size because innodb_buffer_pool_size=134217728 is specified explicitly.

Explicit configuration of one option does not prevent the automatic configuration of other options.

If innodb_dedicated_server is enabled and innodb_buffer_pool_size is configured explicitly, variables configured based on buffer pool size use the buffer pool size value calculated according to the amount of memory detected on the server rather than the explicitly defined buffer pool size value.

Automatically configured settings are evaluated and reconfigured if necessary each time the MySQL server is started.