From Fedora Project Wiki

Switch distribution default version of MySQL from 8.4 to 9.7


Summary

MySQL packages in Fedora use a versioned layout (e.g. mysql8.4, mysql9.7), where each version provides versioned sub-packages. One version at a time is designated the "distribution default" and additionally provides unversioned package names (e.g. mysql-server, mysql-devel). This change switches the distribution default from MySQL 8.4 to MySQL 9.7 in Fedora 45.

Owner

Current status

Detailed Description

A macro in the MySQL SPECfiles controls which version provides the unversioned names. Flipping this macro in both mysql8.4 and mysql9.7 SPECfiles simultaneously switches the distribution default. Two "distribution default" packages cannot coexist due to file-level Conflicts, so the change must be coordinated.

Comparable switches were done for MySQL in Fedora 43 (8.0 → 8.4) and for MariaDB in Fedora 44 (10.11 → 11.8), both without issues.

Feedback

Release Notes section now explicitly highlights the mysql_native_password authentication plugin removal.

Benefit to Fedora

MySQL 9.7 is the latest LTS version of MySQL, released on April 21, 2026. It is the first new LTS since MySQL 8.4 (April 2024) and consolidates two years of innovation releases (9.0 through 9.6).

Fedora's role as a leading-edge distribution makes it the right place to ship the latest MySQL LTS.

Scope

  • Proposal owners:
    • Switch the macro in both mysql8.4 and mysql9.7 SPECfiles
    • Audit all packages that depend on mysql-devel, mysql-libs, or mysql-server and verify they build and work correctly against MySQL 9.7
    • File bugs and/or PRs for any packages that need fixes
  • Other developers:
    • Cooperate on fixes if their package needs adjustment for MySQL 9.7 compatibility
  • Release engineering: N/A (not a System Wide Change)
  • Policies and guidelines: N/A
  • Trademark approval: N/A
  • Alignment with the Fedora Strategy: Fedora leads in the Linux distribution development

Upgrade/compatibility impact

Users upgrading from Fedora 44 (which has MySQL 8.4 as default) to Fedora 45 will have their MySQL installation upgraded to 9.7.

Database administrators should follow the standard MySQL major version upgrade procedure:

  1. Back up all databases before upgrading
  2. Run dnf update
  3. MySQL 9.7 runs mysql_upgrade automatically on first start

MySQL 8.4 remains available in Fedora 45 as mysql8.4-server for users who need more time to migrate.

Note: Upgrading directly from MySQL 8.4 to 9.7 is the supported LTS-to-LTS upgrade path. Skipping LTS versions (e.g. 8.4 directly to a future 10.x) is not supported by upstream.

Note: The mysql_native_password authentication plugin was removed in the MySQL 9.x series. Applications still relying on it must switch to caching_sha2_password.

Note: The replica_parallel_type system variable has been removed. Replication setups using it must be updated before upgrading.

Note: MySQL 9.7, like 8.4, does not support 32-bit builds. This was already handled in Fedora 43.

How To Test

Fresh install:

  • dnf install mysql-server → installs mysql9.7-server
  • dnf install mysql8.4-server → installs mysql8.4-server
  • dnf install mysql9.7-server → installs mysql9.7-server
  • Verify the server starts, accepts connections, and runs basic queries

Upgrade scenario:

  • Running dnf update from a Fedora 44 installation with MySQL 8.4 results in mysql9.7-server
  • Verify data integrity after the automatic upgrade

Staying on 8.4 (manual steps):

  1. Disable the service: systemctl disable --now mysqld
  2. Run dnf update (installs 9.7)
  3. Swap back: dnf swap mysql-server mysql8.4-server --allowerasing
  4. Restore service: systemctl enable --now mysqld

Conflict test:

  • Installing both mysql8.4-server and mysql9.7-server must fail gracefully with a conflict message about mysql-server-any

User Experience

Users get access to MySQL 9.7's features and enhancements. The installation and management experience remains identical.

Dependencies

Packages that need rebuild (BuildRequire mysql-devel / link against libmysqlclient):

No RPMFusion packages depend on mysql-devel or mysql-libs.

Contingency Plan

  • Contingency mechanism: revert the macro change in both SPECfiles to restore MySQL 8.4 as the default
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No

Documentation

Release Notes

MySQL 9.7 is the latest long-term support release. It consolidates all features from the innovation releases 9.0 through 9.6 on top of the previous LTS (8.4).

Important: The mysql_native_password authentication plugin has been removed in the MySQL 9.x series. Applications and client libraries that still rely on mysql_native_password will fail to authenticate until they are reconfigured to use caching_sha2_password (the default since MySQL 8.0). Users who cannot migrate immediately can install mysql8.4-server, which remains available in Fedora 45 as a non-default alternative.

Major changes since MySQL 8.4: https://dev.mysql.com/doc/refman/9.7/en/mysql-nutshell.html