Major Version Upgrade

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.

As you cannot downgrade a DB system to a lower MySQL version number, you should 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:

Upgrading MySQL 8.0 to MySQL 8.4

MySQL 8.4 introduces some new features and removes some deprecated features as compared to MySQL 8.0.

You should be aware of these changes before upgrading your DB system from MySQL 8.0 to MySQL 8.4:
  • As the default_authentication_plugin variable is removed in MySQL 8.4, the DB system ignores the default_authentication_plugin variable in the Configuration. It always defaults to caching_sha2_password. You can override the default authentication method of your user accounts with the CREATE USER and ALTER USER statements if needed.
  • The deprecated mysql_native_password authentication plugin is disabled by default. Your user accounts cannot use the mysql_native_password authentication method.
    Note

    For backward compatibility, if the mysql_native_password authentication method is used by any existing users, the upgrade will enable the deprecated mysql_native_password authentication plugin. As the mysql_native_password authentication plugin will be removed in the next major version after MySQL 8.4, you should start to migrate these user accounts to use the caching_sha2_password authentication method.
  • These new reserved words are added in MySQL 8.4: MANUAL, PARALLEL, QUALIFY, and TABLESAMPLE. You cannot use a reserved word in unquoted identifier.
  • The AUTO_INCREMENT option is no longer allowed in FLOAT and DOUBLE data types. Upgrade fails if you have a table that contains a FLOAT or DOUBLE column with AUTO_INCREMENT.
  • The SET_ANY_DEFINER privilege introduced in MySQL 8.2.0 is granted to the administrator account and administrator role of any DB system running MySQL version 8.2.0 or higher.