Related Documentation Download this Manual
PDF (US Ltr) - 40.2Mb
PDF (A4) - 40.3Mb
Man Pages (TGZ) - 259.4Kb
Man Pages (Zip) - 366.6Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 Reference Manual  /  Upgrading MySQL  /  Changes in MySQL 8.4

3.5 Changes in MySQL 8.4

Before upgrading to MySQL 8.4, review the changes described in the following sections to identify those that apply to your current MySQL installation and applications.

In addition, you can consult the resources listed here:

Incompatible Changes in MySQL 8.4

This section contains information about incompatible changes in MySQL 8.4.

For additional information about changes in MySQL 8.4, see Section 1.4, “What Is New in MySQL 8.4 since MySQL 8.0”.

Changed Server Defaults

This section contains information about MySQL server system variables whose default values have changed in MySQL 8.4 as compared to MySQL 8.0.

System Variable Old Default New Default
InnoDB changes
innodb_adaptive_hash_index ON OFF
innodb_buffer_pool_in_core_file ON OFF
innodb_buffer_pool_instances innodb_buffer_pool_size < 1GB: 1; otherwise: 8 innodb_buffer_pool_size <= 1GB: 1; otherwise: MIN( 0.5 * (innodb_buffer_pool_size / innodb_buffer_pool_chunk_size), 0.25 * number_of_cpus)
innodb_change_buffering all none
innodb_doublewrite_files innodb_buffer_pool_instances * 2 2
innodb_doublewrite_pages Value of innodb_write_io_threads 128
innodb_flush_method fsync O_DIRECT if supported, otherwise fsync
innodb_io_capacity 200 10000
innodb_io_capacity_max MIN(2 * innodb_io_capacity, 2000) 2 * innodb_io_capacity
innodb_log_buffer_size 16777216 67108864
innodb_numa_interleave OFF ON
innodb_page_cleaners 4 Value of innodb_buffer_pool_instances
innodb_parallel_read_threads 4 MIN(number_of_cpus / 8, 4)
innodb_purge_threads 4 If number_of_cpus <= 16: 1; otherwise: 4
innodb_use_fdatasync OFF ON
Group Replication changes
group_replication_consistency EVENTUAL BEFORE_ON_PRIMARY_FAILOVER
group_replication_exit_state_action READ_ONLY OFFLINE_MODE
Temporary table changes
temptable_max_mmap 1073741824 0
temptable_max_ram 1073741824 3% of total memory within a range of 1-4 (GB)
temptable_use_mmap ON OFF
System Variable Old Default New Default

For more information about options or variables which have been added, see Option and Variable Changes for MySQL 8.4, in the MySQL Server Version Reference.

Although the new defaults are the best configuration choices for most use cases, there are special cases, as well as legacy reasons for using existing configuration choices. For example, some people prefer to upgrade to MySQL 8.4 with as few changes to their applications or operational environment as possible. We recommend to evaluate all the new defaults and use as many as you can.

The Performance Schema variables_info table shows, for each system variable, the source from which it was most recently set, as well as its range of values. This provides SQL access to all there is to know about a system variable and its values.