MySQL 8.4 Upgrade: Removed & Deprecated Features You Must Know
With MySQL 8.0 reaching end‑of‑life in April 2026, DBAs must migrate to the LTS 8.4 release, updating tools and replacing removed system variables, deprecated options, and old commands to avoid breakage in applications, monitoring, and replication setups.
MySQL 8.0 will stop receiving patches, bug fixes, and security updates after April 2026, meaning Oracle will no longer respond to issues reported for that version. The recommended path is to upgrade to the long‑term support (LTS) release 8.4 and replace legacy tools such as the classic mysql client with mysqlsh, while discarding obsolete statements like SET PASSWORD = PASSWORD(...).
1. System variables and features that have been removed
Several categories of variables and functions were eliminated in MySQL 8.4. Below are the most common ones together with their modern replacements:
Transaction : tx_isolation → transaction_isolation; tx_read_only → transaction_read_only.
Binary log : expire_logs_days → binlog_expire_logs_seconds (e.g., expire_logs_days = 7 becomes binlog_expire_logs_seconds = 604800).
Semi‑synchronous replication : rpl_semi_sync_master_wait_for_slave_count → rpl_semi_sync_source_wait_for_replica_count; rpl_semi_sync_master_timeout → rpl_semi_sync_source_timeout; rpl_semi_sync_master_trace_level → rpl_semi_sync_source_trace_level; rpl_semi_sync_slave_trace_level → rpl_semi_sync_replica_trace_level.
Group replication : group_replication_ip_whitelist → group_replication_ip_allowlist.
Network : skip_name_resolve no longer accepts ON/OFF strings; use numeric 0 or 1 instead.
Functions : The old PASSWORD() hash function is removed; create or alter users with IDENTIFIED BY syntax instead.
Replication commands : CHANGE MASTER TO and START SLAVE are replaced by CHANGE REPLICATION SOURCE TO, START REPLICA, and SHOW REPLICA STATUS.
Startup options : --skip-grant-tables is discouraged for security; use --init-file for password recovery.
Data types : Non‑standard FLOAT(M,D) and DOUBLE(M,D) declarations are removed; use standard FLOAT or DOUBLE and handle precision in application code.
2. System variables and features that are deprecated
These items still exist in 8.4 but will disappear in future releases. Replace them now to avoid future migration pain:
Authentication plugins : mysql_native_password should be migrated to caching_sha2_password for stronger security.
Default authentication plugin : default_authentication_plugin has been renamed to default_authentication_policy, offering more flexible policies.
Commands : FLUSH HOSTS has limited use in modern deployments; consider removing it from scripts.
Startup options : --skip-grant-tables poses security risks; prefer safer alternatives as mentioned above.
Data types : The legacy FLOAT(M,D) / DOUBLE(M,D) syntax should be replaced with standard FLOAT / DOUBLE.
3. Additional parameters that may be removed or deprecated
Based on MySQL release notes and common practice, the following settings should be reviewed and possibly eliminated: --log_slow_verbosity – may be simplified after 8.4. stored_program_cache_size – deprecated in 8.0, likely removed in 8.4. query_cache_size and query_cache_type – already obsolete in 8.0; ensure no residual configuration remains. innodb_old_blocks_time – an optimization parameter slated for removal. innodb_print_all_deadlocks – diagnostic flag; verify if a newer approach is needed.
DBAs should audit their my.cnf files, monitoring tools, and any custom scripts for these variables, update them to the new equivalents, and test the changes in a staging environment before production rollout.
Because high‑version MySQL knowledge is becoming scarcer, sharing migration experiences, backup strategies, and high‑availability designs within the community is strongly encouraged.
dbaplus Community
Enterprise-level professional community for Database, BigData, and AIOps. Daily original articles, weekly online tech talks, monthly offline salons, and quarterly XCOPS&DAMS conferences—delivered by industry experts.
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.
