Databases 7 min read

What’s Changing in MySQL 8.4? Key Removed and Deprecated Variables You Must Update

MySQL 8.0 will lose official support in April 2026, prompting a migration to the LTS 8.4 release, which removes several system variables and functions while deprecating others, so DBAs must adjust configurations, tools, and scripts to avoid compatibility issues.

ITPUB
ITPUB
ITPUB
What’s Changing in MySQL 8.4? Key Removed and Deprecated Variables You Must Update

Background

Oracle announced that MySQL 8.0 will stop receiving maintenance, patches, and security fixes after April 2026, making it essential to upgrade to the LTS version 8.4. The end‑of‑life also means that previously tolerated DEPRECATED warnings will become hard errors, and many management tools (e.g., the classic mysql client) should be replaced by mysqlsh (MySQL Shell).

Removed System Variables and Features

tx_isolation

– old transaction isolation variable; replace with transaction_isolation in my.cnf and connection strings. tx_read_only – old read‑only mode variable; replace with transaction_read_only. expire_logs_days – binlog expiration in days; replace with binlog_expire_logs_seconds (e.g., expire_logs_days = 7binlog_expire_logs_seconds = 604800). rpl_semi_sync_master_wait_for_slave_count – old semi‑sync master wait count; replace with rpl_semi_sync_source_wait_for_replica_count. rpl_semi_sync_master_timeout – old master timeout; replace with rpl_semi_sync_source_timeout. rpl_semi_sync_master_trace_level – old trace level; replace with rpl_semi_sync_source_trace_level. rpl_semi_sync_slave_trace_level – old slave trace level; replace with rpl_semi_sync_replica_trace_level. group_replication_ip_whitelist – old IP whitelist name; replace with group_replication_ip_allowlist. skip_name_resolve – previously accepted ON/OFF strings; now only numeric 0 or 1 are allowed. PASSWORD() – old password hashing function; replace with CREATE USER ... IDENTIFIED BY '...' or ALTER USER ... IDENTIFIED BY '...'. CHANGE MASTER TO, START SLAVE, etc. – old replication commands; replace with CHANGE REPLICATION SOURCE TO, START REPLICA, SHOW REPLICA STATUS.

Deprecated System Variables and Features

mysql_native_password

– weaker authentication plugin; migrate users to caching_sha2_password or other stronger methods. default_authentication_plugin – renamed to default_authentication_policy, offering more flexible policies. FLUSH HOSTS – clears host cache; its usefulness is limited in modern deployments and can be removed from scripts. --skip-grant-tables – disables privilege checks; replace with --init-file for password recovery. FLOAT(M,D) / DOUBLE(M,D) – non‑standard precision/scale syntax; use plain FLOAT or DOUBLE and handle precision in application logic.

Additional Parameters Likely Removed or Deprecated

--log_slow_verbosity

– may be simplified further after 8.4. stored_program_cache_size – deprecated in 8.0, probably removed in 8.4. query_cache_size and query_cache_type – already deprecated in 8.0; verify no residual settings remain. innodb_old_blocks_time – optimization‑related; check if still warned as deprecated. innodb_print_all_deadlocks – diagnostic flag; confirm migration to newer alternatives.

Impact on Tools and Applications

Because many variables and commands have been renamed or removed, monitoring, analysis, and backup tools that rely on the old names will fail after the upgrade. Users must audit my.cnf, scripts, and third‑party software, updating them to the new identifiers or replacing the tools altogether.

SQLMySQLDatabase Migration8.4Deprecated featuresRemoved Variables
ITPUB
Written by

ITPUB

Official ITPUB account sharing technical insights, community news, and exciting events.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.