Wiki - https://fedoraproject.org/wiki/Changes/MySQL_9.7
Discussion thread -
https://discussion.fedoraproject.org/t/f45-change-proposal-mysql-9-7-self-contained/196626

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.
<code>mysql8.4</code>, <code>mysql9.7</code>), 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. <code>mysql-server</code>,
<code>mysql-devel</code>). This change switches the distribution
default from MySQL 8.4 to MySQL 9.7 in Fedora 45.

== Owner ==
* Name: [[User:mschorm|Michal Schorm]]
* Email: [email protected]


== Detailed Description ==
A macro in the MySQL SPECfiles controls which version provides the
unversioned names. Flipping this macro in both <code>mysql8.4</code>
and <code>mysql9.7</code> SPECfiles simultaneously switches the
distribution default. Two "distribution default" packages cannot
coexist due to file-level <code>Conflicts</code>, 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 ==
&nbsp;

== 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 <code>mysql8.4</code> and
<code>mysql9.7</code> SPECfiles
** Audit all packages that depend on <code>mysql-devel</code>,
<code>mysql-libs</code>, or <code>mysql-server</code> 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:
# Back up all databases before upgrading
# Run <code>dnf update</code>
# MySQL 9.7 runs <code>mysql_upgrade</code> automatically on first start

MySQL 8.4 remains available in Fedora 45 as
<code>mysql8.4-server</code> 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 <code>mysql_native_password</code> authentication
plugin was removed in the MySQL 9.x series. Applications still relying
on it must switch to <code>caching_sha2_password</code>.

'''Note:''' The <code>replica_parallel_type</code> 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:'''
* <code>dnf install mysql-server</code> → installs <code>mysql9.7-server</code>
* <code>dnf install mysql8.4-server</code> → installs
<code>mysql8.4-server</code>
* <code>dnf install mysql9.7-server</code> → installs
<code>mysql9.7-server</code>
* Verify the server starts, accepts connections, and runs basic queries

'''Upgrade scenario:'''
* Running <code>dnf update</code> from a Fedora 44 installation with
MySQL 8.4 results in <code>mysql9.7-server</code>
* Verify data integrity after the automatic upgrade

'''Staying on 8.4 (manual steps):'''
# Disable the service: <code>systemctl disable --now mysqld</code>
# Run <code>dnf update</code> (installs 9.7)
# Swap back: <code>dnf swap mysql-server mysql8.4-server --allowerasing</code>
# Restore service: <code>systemctl enable --now mysqld</code>

'''Conflict test:'''
* Installing both <code>mysql8.4-server</code> and
<code>mysql9.7-server</code> must fail gracefully with a conflict
message about <code>mysql-server-any</code>

== 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 <code>mysql-devel</code> /
link against <code>libmysqlclient</code>):

* <code>mysql-connector-odbc</code> -
[https://src.fedoraproject.org/rpms/mysql-connector-odbc/blob/rawhide/f/mysql-connector-odbc.spec#_22
BuildRequires: mysql-devel]
* <code>mysql-connector-python</code> -
[https://src.fedoraproject.org/rpms/mysql-connector-python/blob/rawhide/f/mysql-connector-python.spec#_49
BuildRequires: mysql-devel]
* <code>perl-DBD-MySQL</code> -
[https://src.fedoraproject.org/rpms/perl-DBD-MySQL/blob/rawhide/f/perl-DBD-MySQL.spec#_33
BuildRequires: mysql-devel]

No RPMFusion packages depend on <code>mysql-devel</code> or
<code>mysql-libs</code>.

== 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


-- 
Aoife Moloney

Fedora Operations Architect

Fedora Project

Matrix: @amoloney:fedora.im

IRC: amoloney

-- 
_______________________________________________
devel-announce mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new
-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://forge.fedoraproject.org/infra/tickets/issues/new

Reply via email to