When innodb_dedicated_server
is
enabled, InnoDB
automatically configures the
following variables:
-
Note
innodb_log_file_size
andinnodb_log_files_in_group
are deprecated, and are superseded byinnodb_redo_log_capacity
.
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.
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.5Greater than 4GB detected server memory
* 0.75Redo 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.
NoteBefore 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
NoteThe 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.