Menu

How to Upgrade MySQL 8.0 to MySQL 8.4 LTS

Plan a safe MySQL 8.0 to 8.4 LTS upgrade: verify platform support, run MySQL Shell Upgrade Checker, rehearse on a clone, and validate backups.

Posted on By
On this page

MySQL 8.0 reached end of life in April 2026. If you plan to move to MySQL 9.7 LTS, Oracle’s supported path is MySQL 8.0 to 8.4, then 8.4 to 9.7. This guide covers the first step; see how to upgrade MySQL 8.4 to 9.7 LTS for the next step. See the MySQL 8.0 release notes and the official MySQL upgrade paths.

Do not treat an upgrade as a fresh install. MySQL 8.4 may change server behavior and data dictionary files. Test the procedure against a copy of the production instance, and verify a restorable backup before scheduling downtime.

1. Confirm the source version and installation method

Connect to the server and record its version and platform:

SELECT VERSION();

Also identify how MySQL was installed: Oracle’s APT or Yum repository, the operating system’s native packages, a Windows MSI, a container image, or a managed database service. The correct upgrade procedure depends on the installation source. Do not switch from MariaDB, Percona Server, or another third-party package source by simply enabling Oracle’s repository; follow the applicable vendor migration procedure.

Check that the operating system and architecture are supported by the target MySQL release in Oracle’s supported-platform matrix. If the current operating system is unsupported, plan an operating-system upgrade or a migration to a supported host; an in-place MySQL package upgrade is not a substitute for platform support.

For MySQL 5.7 or an older release, do not skip release series. Follow the official upgrade path table for the source version before proceeding.

2. Check compatibility with MySQL Shell

Install a current MySQL Shell release that can check the MySQL 8.4 target. The Upgrade Checker account needs RELOAD, PROCESS, and SELECT privileges. Ask an administrator to provide a suitable account; do not put its password in the command line.

Run the checker from a terminal, replacing the account, host, and configuration-file path for your server:

mysqlsh -- util check-for-server-upgrade [email protected]:3306 \
  --target-version=8.4.0 \
  --config-path=/path/to/my.cnf

Enter the password when prompted. On Windows, use the path to the server’s my.ini. Resolve every reported error before upgrading. Review warnings and notices too: some require manual checks, and the checker cannot prove that application queries and connectors work with the new server. See Oracle’s Upgrade Checker Utility and upgrade preparation checklist.

Review changes in MySQL 8.4, including removed or changed options and authentication behavior. Verify that your applications and database connectors support the target release; do not enable deprecated authentication methods as a permanent compatibility workaround. If an account-management statement fails with Error 1524 for mysql_native_password, see how to fix the plugin-not-loaded error.

3. Back up and rehearse the upgrade

Create a complete backup using a method appropriate for the server’s size, storage engine, and recovery requirements. Include the MySQL system schema. Restore the backup to an isolated test server and confirm that the restored databases and application data are usable; a backup file that has not been restored is not a verified rollback plan. See the MySQL backup and recovery guide.

Rehearse the upgrade on a clone of the server, using the same operating system, repository or installation source, configuration, and application versions. Run the application test suite or representative queries against MySQL 8.4, review server and application logs, and compare critical query behavior and performance. Fix problems in the rehearsal before scheduling production downtime.

4. Upgrade using the procedure for your installation source

Follow Oracle’s procedure for the way MySQL was installed: APT repository, Yum repository, Windows, or Docker. For a managed database, use the provider’s upgrade workflow and maintenance guidance.

During the maintenance window, stop or drain application writes as required by the rehearsed plan, confirm the final backup, and upgrade only the intended MySQL release series. Avoid an unplanned system-wide package upgrade. MySQL performs server upgrade tasks when the new server starts; monitor the error log and do not direct applications to the server until the upgrade completes and checks pass.

5. Verify the server and application

After MySQL starts, check the version:

SELECT VERSION();

Then confirm that the server is healthy, required databases and accounts are present, application connections succeed, scheduled events and stored programs behave as expected, and replication or backup jobs are healthy if used. Review both the MySQL error log and application logs before reopening normal traffic.

MySQL does not support an in-place downgrade from 8.4 to an earlier series. If validation fails, follow the rehearsed recovery plan and restore the verified pre-upgrade backup or server snapshot; do not point an older MySQL binary at a data directory already upgraded by 8.4. See Oracle’s upgrade best practices.

For new installations, choose a supported platform and current release from the MySQL installation guide index. For existing MySQL 8.0 systems, also review the appropriate database and operating-system vendor guidance before changing production.