Major Version Upgrade
A major version upgrade refers to upgrading from a major version to another major version according to one of the following major version upgrade paths:
- Upgrade from an LTS release to an Innovation release before the next LTS series.
- Upgrade from a Bugfix or LTS release to the next LTS series.
- Upgrade from an Innovation release to the next LTS series.
These paths include transitions between Innovation and LTS releases, which are considered major version upgrades.
Upgrading between Innovation releases within the same major version (for example, 9.5.x to 9.6.x) is supported, but it is not considered a major version upgrade.
If your upgrade does not follow one of these paths, it will fail. Even if the upgrade seems to have started, it will fail eventually.
You cannot directly upgrade between Innovation releases of different major versions (for example, 8.3.0 to 9.0.0). Instead, you must first upgrade to the nearest LTS release, and then to the following Innovation release (for example, upgrade from 8.3.0 to 8.4.0, and then to 9.0.0).
Table 5-9 Major versions upgrade paths
| Current Version | Version that you can upgrade to |
|---|---|
|
8.0 Bugfix |
8.4 LTS |
|
8.4 LTS |
9.5.x Innovation 9.6.x Innovation 9.7 LTS |
| 9.x Innovation | 9.7 LTS |
Before you perform a major version upgrade, you should first identify the changes between the current version and the new version, and then verify that these changes do not affect how you use the MySQL database server.
It is not possible to downgrade a DB system to a lower MySQL version number. It is recommended to perform a backup of the DB system before upgrading. See Creating a Manual Backup. The backup allows you to restore the DB system to the original version number before the upgrade.
Each major version of MySQL server is likely to introduce some new features and remove some deprecated features. The major changes that you should consider before upgrading are listed in the following sections:
Upgrading MySQL 8.0 Bugfix to MySQL 8.4 LTS
MySQL 8.4 LTS introduces some new features and removes some deprecated features as compared to MySQL 8.0 Bugfix.
- As the
default_authentication_pluginvariable is removed in MySQL 8.4, the DB system ignores thedefault_authentication_pluginvariable in the Configuration. It always defaults tocaching_sha2_password. You can override the default authentication method of your user accounts with theCREATE USERandALTER USERstatements if needed. - The deprecated
mysql_native_passwordauthentication plugin is disabled by default. Your user accounts cannot use themysql_native_passwordauthentication method.Note
For backward compatibility, if themysql_native_passwordauthentication method is used by any existing users, the upgrade will enable the deprecatedmysql_native_passwordauthentication plugin. As themysql_native_passwordauthentication plugin will be removed in the next major version after MySQL 8.4, you should start to migrate these user accounts to use thecaching_sha2_passwordauthentication method. - These new reserved words are added in MySQL 8.4:
MANUAL,PARALLEL,QUALIFY, andTABLESAMPLE. You cannot use a reserved word in unquoted identifier. - The
AUTO_INCREMENToption is no longer allowed inFLOATandDOUBLEdata types. Upgrade fails if you have a table that contains aFLOATorDOUBLEcolumn withAUTO_INCREMENT. - The
SET_ANY_DEFINERprivilege introduced in MySQL 8.2.0 is granted to the administrator account andadministratorrole of any DB system running MySQL version 8.2.0 or higher.
You cannot upgrade MySQL 8.0 to MySQL 9.x directly, you must first upgrade MySQL 8.0 to MySQL 8.4, then upgrade MySQL 8.4 to MySQL 9.x.
Related Topics
Upgrading MySQL 8.4 LTS to MySQL 9.x Innovation or 9.7 LTS
MySQL 9.x Innovation and 9.7 LTS introduce some new features and remove some deprecated features as compared to MySQL 8.4 LTS.
- The
mysql_native_passwordauthentication plugin is removed in MySQL 9.x Innovation and 9.7 LTS. Your user accounts cannot use themysql_native_passwordauthentication method.Note
Before upgrading, you should migrate all user accounts that use themysql_native_passwordauthentication method to thecaching_sha2_passwordauthentication method.Note
Inbound replication also cannot connect to a replication user on the source server that is created with themysql_native_passwordauthentication method. You must recreate the replication user withcaching_sha2_passwordauthentication method. Also, any operation that involvesmysql_native_passwordauthentication method on the source server will break the replication. For example, creating or changing the password of a user account that usesmysql_native_passwordauthentication method. - In MySQL 9.2 and later versions, the
BINLOGkeyword is restricted and can no longer be used unquoted as a label in a MySQL stored routine or stored function. You should update any affected applications accordingly, before upgrading to MySQL 9.x Innovation or 9.7 LTS.