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 iscaching_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 likeCom_change_master
for exmple. AUTO_INCREMENT
modifier used withFLOAT
orDOUBLE
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 whenANALYZE TABLE
statements is used. - New privileges added for
FLUSH PRIVILEGES
statement and forOPTIMIZE 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 optionsBEFORE_8_2_0
(for 8.0.23 until 8.2),BEFORE_8_0_23
orSERVER
(uses the latest version). - Shutdown and startup messages have been enhanced.
FLUSH HOSTS
statement has been removed. Users need to execute a directTRUNCATE 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.
Authors