Description:
Manual (https://dev.mysql.com/doc/refman/8.0/en/innodb-dedicated-server.html) says:
"Automatic configuration of the innodb_log_files_in_group variable was added in MySQL 8.0.14.
Table 15.11 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 that we refer to "buffer pool size" above, but do not specify the unit of size. The value of innodb_buffer_pool_size is presented in bytes in the output of SHOW GLOBAL VARIABLES, for example, while the automated tuning and table aboe assumes size in gigabytes.
How to repeat:
Start any MySQL 8.0.14 with --no-defaults and then with --no-defaults plus --innodb_deicated_server=ON, get the outputs of SHOW GLOBAL VARIABLES and find the diff. You'll see something like this (from a system, with 8G of RAM):
[openxs@fc29 8.0]$ diff -u /tmp/default.txt /tmp/dedicated.txt
--- /tmp/default.txt 2020-06-20 08:22:25.674368791 +0300
+++ /tmp/dedicated.txt 2020-06-20 08:24:40.938561950 +0300
@@ -130,11 +130,11 @@
innodb_buffer_pool_dump_pct 25
innodb_buffer_pool_filename ib_buffer_pool
innodb_buffer_pool_in_core_file ON
-innodb_buffer_pool_instances 1
+innodb_buffer_pool_instances 8
innodb_buffer_pool_load_abort OFF
innodb_buffer_pool_load_at_startup ON
innodb_buffer_pool_load_now OFF
-innodb_buffer_pool_size 134217728
+innodb_buffer_pool_size 6442450944
innodb_change_buffer_max_size 25
innodb_change_buffering all
innodb_checksum_algorithm crc32
@@ -147,7 +147,7 @@
innodb_data_file_path ibdata1:12M:autoextend
innodb_data_home_dir
innodb_deadlock_detect ON
-innodb_dedicated_server OFF
+innodb_dedicated_server ON
innodb_default_row_format dynamic
innodb_directories
innodb_disable_sort_file_cache OFF
@@ -157,7 +157,7 @@
innodb_fill_factor 100
innodb_flush_log_at_timeout 1
innodb_flush_log_at_trx_commit 1
-innodb_flush_method fsync
+innodb_flush_method O_DIRECT_NO_FSYNC
innodb_flush_neighbors 0
innodb_flush_sync ON
innodb_flushing_avg_loops 30
@@ -183,8 +183,8 @@
innodb_log_buffer_size 16777216
innodb_log_checksums ON
innodb_log_compressed_pages ON
-innodb_log_file_size 50331648
-innodb_log_files_in_group 2
+innodb_log_file_size 536870912
+innodb_log_files_in_group 6
innodb_log_group_home_dir ./
innodb_log_spin_cpu_abs_lwm 80
innodb_log_spin_cpu_pct_hwm 50
...
Note that innodb_buffer_pool_size is set to 6442450944 (exactly 6G) and that's why we see innodb_log_files_in_group set to 6.
Suggested fix:
lease, clarify the manual. Now it is making wrong statement when taken literally.