MySQL

MySQL 8.4 - What is new?

2 min read

7 months ago

MySQL 8.0 has been known for its innovative pace, introducing new breaking changes in minor releases within the 8.0 series, which has been a great debate among the MySQL community and a long ask to have a more stable release cadence within the same minor series.

Oracle has listened to MySQL users and has announced a new release model, where it introduces the concept of LTS releases and Innovate releases.

On the 30th of April, the first Long Term Support release was announced. This release received the version number of 8.4. Let’s have a look at what is new in comparison to the previous 8.0.

What is new?

Here is a list of the most notable changes in the release:

  • The Authentication plugin mysql_native_password has been disabled by default. The new default is caching_sha2_password.
  • MySQL GTID has been extended to support GTID TAGS - This work allows for tagging a group of transactions to be easily identifiable on servers.
  • MySQL Replication terminology changes - The terms MASTER/SLAVE have been completely removed in this version. This affects commands such as SHOW MASTER STATUS and also STATUS variables like Com_change_master for exmple.
  • AUTO_INCREMENT modifier used with FLOAT or DOUBLE was deprecated in 8.0 and now removed in 8.4. Attempting to create a new table using this combination now results in an error.
  • Automatic updates to histograms have been added to histograms created with AUTO UPDATE option. Updates automatically happen when ANALYZE TABLE statements is used.
  • New privileges added for FLUSH PRIVILEGES statement and for OPTIMIZE LOCAL TABLE (NO_WRITE_TO_BINLOG).
  • Multiple InnoDB variables have had their default recalculated and adjusted.
  • Mysqldump option  --output-as-version was added. This allow users to take logical backups from previous versions using the options BEFORE_8_2_0 (for 8.0.23 until 8.2), BEFORE_8_0_23 or SERVER(uses the latest version).
  • Shutdown and startup messages have been enhanced.
  • FLUSH HOSTS statement has been removed. Users need to execute a direct TRUNCATE TABLE performance_schema.host_cache instead.

Summary

Oracle MySQL has presented a variety of changes but nothing substantial. Most of the changes are housekeeping and removal from previous versions. One of the substantial improvements is around GTID Tags. Also, the new release model with 3 Innovate releases before the LTS, allowing users to preview and test new functionality before they are incorporated into an LTS release.

Readyset is a drop-in performance layer that integrates with your existing MySQL infrastructure without requiring changes to your application code. This makes it ideal when you're already experiencing the stress of updating your database.

If you're still on legacy MySQL 5.7 or below, or if you need to upgrade from 8.0, partner with Readyset and get a fully-managed version of Readyset Cloud in production.