Switch distribution default version of MySQL from 8.4 to 9.7
This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
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
- Name: Michal Schorm
- Email: mschorm@redhat.com
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
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.4andmysql9.7SPECfiles - Audit all packages that depend on
mysql-devel,mysql-libs, ormysql-serverand verify they build and work correctly against MySQL 9.7 - File bugs and/or PRs for any packages that need fixes
- Switch the macro in both
-
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:
- Back up all databases before upgrading
- Run
dnf update - MySQL 9.7 runs
mysql_upgradeautomatically 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→ installsmysql9.7-server -
dnf install mysql8.4-server→ installsmysql8.4-server -
dnf install mysql9.7-server→ installsmysql9.7-server - Verify the server starts, accepts connections, and runs basic queries
Upgrade scenario:
- Running
dnf updatefrom a Fedora 44 installation with MySQL 8.4 results inmysql9.7-server - Verify data integrity after the automatic upgrade
Staying on 8.4 (manual steps):
- Disable the service:
systemctl disable --now mysqld - Run
dnf update(installs 9.7) - Swap back:
dnf swap mysql-server mysql8.4-server --allowerasing - Restore service:
systemctl enable --now mysqld
Conflict test:
- Installing both
mysql8.4-serverandmysql9.7-servermust fail gracefully with a conflict message aboutmysql-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):
-
mysql-connector-odbc- BuildRequires: mysql-devel -
mysql-connector-python- BuildRequires: mysql-devel -
perl-DBD-MySQL- BuildRequires: mysql-devel
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
-
MySQL 9.7 Changes & improvements: https://dev.mysql.com/doc/refman/9.7/en/mysql-nutshell.html
-
MySQL 9.7 Release Notes: https://dev.mysql.com/doc/relnotes/mysql/9.7/en/
-
MySQL 9.7 Reference Manual: https://dev.mysql.com/doc/refman/9.7/en/
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).
Major changes since MySQL 8.4: https://dev.mysql.com/doc/refman/9.7/en/mysql-nutshell.html
Last edited by @amoloney 2026-07-13T16:57:08Z
Last edited by @amoloney 2026-07-13T16:57:08Z