InnoDB automatically configures the
following options according to the amount of memory detected on
Table 15.7 Automatically Configured Buffer Pool Size
Detected Server Memory Buffer Pool Size < 1G 128MiB (the
<= 4G Detected server memory * 0.5 > 4G Detected server memory * 0.75
Table 15.8 Automatically Configured Log File Size
Detected Server Memory Log File Size < 1GB 48MiB (the
<= 4GB 128MiB <= 8GB 512MiB <= 16GB 1024MiB > 16GB 2048MiB
Prior to MySQL 8.0.14, the
O_DIRECT_NO_FSYNCsetting is not recommended for use on Linux systems. It may cause the operating system to hang due to file system metadata becoming unsynchronized. As of MySQL 8.0.14,
fsync()after creating a new file, after increasing file size, and after closing a file, which permits
O_DIRECT_NO_FSYNCmode to be safely used on XFS and EXT4 file systems. The
fsync()system call is still skipped after each write operation.
Only consider enabling this option if your MySQL instance runs on a dedicated server where the MySQL server is able to consume all available system resources. Enabling this option is not recommended if your MySQL instance shares system resources with other applications.
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
[Warning]  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. For example, if
configured explicitly in an option file,
innodb_flush_method are still
subject to automatic configuration.
Automatically configured settings are reevaluated according to the amount of detected server memory each time the MySQL server is started. If the amount of detected server memory changes, the automatically configured settings are adjusted accordingly.