What’s New in MySQL 8.4? Key Changes, Compatibility, and Upgrade Guide
MySQL 8.4 becomes the new LTS release, offering detailed upgrade‑downgrade compatibility tables, dozens of InnoDB and temporary‑table parameter defaults, MGR and replication enhancements, new commands, and a list of deprecated features to help DBAs plan migrations efficiently.
Introduction
MySQL 8.0 reaches end‑of‑support in April 2026. MySQL 8.4 is marked as the current LTS release, making it the recommended upgrade path for users who prefer a stable version.
Upgrade/Downgrade Compatibility
Upgrade Compatibility
LTS 8.4 → LTS 9.7: In‑place ✓, Clone ✗, Asynchronous Replication ✓, Dump/Load ✓ LTS 8.4.11 → LTS 8.4.20: In‑place ✓, Clone ✓, Asynchronous Replication ✓, Dump/Load ✓ Innovation 8.1 → 8.2: In‑place ✓, Clone ✗, Asynchronous Replication ✓, Dump/Load ✓ Innovation 8.1 → 8.3: In‑place ✓, Clone ✗, Asynchronous Replication ✓, Dump/Load ✓ Innovation 9.1 → LTS 9.7: In‑place ✓, Clone ✗, Asynchronous Replication ✓, Dump/Load ✓ LTS 8.4 → LTS 10.7: In‑place ✗, Clone ✗, Asynchronous Replication ✗, Dump/Load
✗Downgrade Compatibility
LTS 8.4.20 → 8.4.11: In‑place ✓, Clone ✓, Asynchronous Replication ✓, Dump/Load ✓ LTS 9.7 → LTS 8.4: In‑place ✗, Clone ✗, Asynchronous Replication ✓✮, Dump/Load ✓✮ LTS 9.7 → Innovation 9.6: In‑place ✗, Clone ✗, Asynchronous Replication ✓✮, Dump/Load ✓✮ LTS 9.7 → Innovation 9.5: In‑place ✗, Clone ✗, Asynchronous Replication ✓✮, Dump/Load ✓✮ ✮ indicates use only for rollback purposes.
New Features in MySQL 8.4
InnoDB Parameter Changes
innodb_buffer_pool_in_core_file: OFF when MADV_DONTDUMP is supported, otherwise ON (default ON in 8.0). innodb_buffer_pool_instances: 1 if buffer pool ≤ 1 GB, otherwise calculated automatically (8 instances in 8.0, 1 if ≤ 1 GB). innodb_change_buffering: none (was all). innodb_adaptive_hash_index: OFF (was ON). innodb_doublewrite_files: 2 (was innodb_buffer_pool_instances*2). innodb_flush_method (Linux): O_DIRECT if supported, otherwise fsync (was always fsync). innodb_io_capacity: 1000 (was 200). innodb_io_capacity_max: innodb_io_capacity*2 (minimum 2000 in 8.0, now follows the same formula without a hard minimum). innodb_log_buffer_size: 64 MB (was 16 MB). innodb_numa_interleave: ON (was OFF). innodb_page_cleaners: innodb_buffer_pool_instances (was 4). innodb_parallel_read_threads: CPU_cores/8 (minimum 4) (was fixed 4). innodb_purge_threads: 1 if CPU ≤ 16 cores, otherwise 4 (was always 4). innodb_read_io_threads: CPU_cores/8 (minimum 4) (was fixed 4). innodb_use_fdatasync: ON (was OFF).
Temporary Table Parameter Changes
temptable_max_ram: 3 % of physical memory, capped between 1 GB and 4 GB (was fixed 1 GB). temptable_max_mmap: 0 (disabled) (was 1 GB). temptable_use_mmap: OFF (was ON, deprecated after 8.0.26).
Group Replication (MGR) Changes
Default group_replication_consistency changes from EVENTUAL to BEFORE_ON_PRIMARY_FAILOVER ; group_replication_exit_state_action changes from READ_ONLY to OFFLINE_MODE .
When switching the primary node, all running DDL (e.g., ALTER TABLE) and most DCL statements (e.g., ALTER DATABASE) must finish before the new primary can take over.
Version‑compatibility constraints are relaxed: in‑place downgrade within the same major version is allowed (e.g., 8.4.2 → 8.4.0), and nodes with different minor versions of the same major release can run together (e.g., 8.4.0, 8.4.2, 8.4.3).
New parameters: group_replication_preemptive_garbage_collection – when ON, enables preemptive GC in single‑primary mode, keeping only uncommitted writesets.
group_replication_presemptive_garbage_collection_rows_threshold– default 100 000 rows, controls the GC trigger threshold.
Replication and Clone Enhancements
The Clone plugin no longer requires identical minor version numbers; cloning is allowed within the same major version. SOURCE_RETRY_COUNT default reduced from 86 400 retries (≈ 60 days) to 10 retries, each 60 seconds apart (total 10 minutes).
GTID transactions can now be tagged, facilitating operational tracking.
When executing START REPLICA, the SQL_AFTER_GTIDS clause now supports multithreaded parallel replay; previously it triggered ER_MTA_FEATURE_IS_NOT_SUPPORTED and forced single‑threaded replay.
Other Notable Changes
ANALYZE TABLEand normal operations automatically refresh histogram statistics according to innodb_stats_auto_recalc rules.
The default authentication plugin mysql_native_password is disabled. To enable it for legacy applications, start mysqld with --mysql-native-password=ON or set SET GLOBAL mysql_native_password=ON at runtime. mysqldump adds a --output-as-version option to produce dumps compatible with older server versions.
A new privilege FLUSH_PRIVILEGES is required for FLUSH PRIVILEGES statements.
New reserved keywords (cannot be used for object names):
AUTO, BERNOULLI, GTIDS, LOG, MANUAL, PARALLEL, PARSE_TREE, QUALIFY, S3, TABLESAMPLE.
Deprecated or Disallowed Features in MySQL 8.4
binlog_transaction_dependency_trackingis deprecated because the WRITESET mechanism is always used. group_replication_allow_local_lower_version_join is deprecated.
Since 8.3.0, MGR group‑member metadata is automatically shared, making group_replication_view_change_uuid unnecessary.
Function WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS() has been removed.
When GTID mode is enabled, the IGNORE_SERVER_IDS parameter is incompatible with GTID. expire_logs_days is replaced by binlog_expire_logs_seconds. group_replication_recovery_complete_at is deprecated; the recovery policy now always behaves as if set to TRANSACTIONS_APPLIED.
Reference
For a complete list of changes see the MySQL documentation: https://dev.mysql.com/doc/refman/8.4/en/mysql-nutshell.html
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITPUB
Official ITPUB account sharing technical insights, community news, and exciting events.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
