F43 Change Proposal: Switch the distribution default version of MySQL from MySQL 8.0 to MySQL 8.4 (self-contained)

:link: Switch the distribution default version of MySQL from MySQL 8.0 to MySQL 8.4

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.

Wiki
Announced

:link: Summary

MySQL is packages now use the versioned package layout. Currently we have packages mysql8.0 and mysql8.4 which both provides their respective versioned named sub-packages (e.g. mysql8.0-server or mysql8.4-errmsg etc.)

A “distribution default” version is the one, that also provides the unversioned names (e.g. mysql-server or mysql-errmsg etc.)

Currently the “distribution default” version of MySQL is 8.0. Let’s switch to 8.4.

:link: Owner

:link: Current status

  • Targeted release: Fedora Linux 43

  • Last updated: 2025-05-27

  • [ Announced]

  • [ Discussion thread]

  • FESCo issue:

  • Tracker bug:

  • Release notes tracker:

:link: Detailed Description

The technical implementation is by a On/OFF macro in the MySQL packages SPECfiles. There can’t be two same “distribution default” packages at the same time, since they would create conflicts. So the switch must be done simultaneously.

There are two potential technical problems:

  1. MySQL 8.4 no longer supports 32-bit builds. So any packages depending on it will no longer build on i686.

There are two packages that are directly affected: perl-DBD-MySQL, mysql-connector-odbc, but both are part of the MySQL stack and are expected to follow MySQL upstream development.

All of the other packages in the distribution should be already adapted to using MariaDB instead of MySQL.

Please let me know if you know of any other packages.

  1. Unknown issues This is the first time such switch is done for the packages that recently adopted the versioned layout after the end of modularity. I may encounter unexpected issues and I will need to solve them on the go.

:link: Feedback

:link: Benefit to Fedora

MySQL 8.4 is the latest LTS version of MySQL and the upstream development focus steer to it.

The MySQL 8.4 contains major improvements and AFAIK there’s no reason to stay with the old LTS.

:link: Scope

  • Proposal owners:

    • will do switch in the packages mysql8.0 and mysql8.4
    • will check for any issues with the dependent packages
  • Other developers:

    • are expected to cooperate in case of fixes in dependent packages are needed
  • Release engineering: I assume the Mass Rebuild will take place, so I don’t need to rebuild the dependent packages myself.

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with the Fedora Strategy: Fedora leads in the Linux distribution development

:link: Upgrade/compatibility impact

DB administrators need to handle the DB upgrade, as usual. In case the DB admin need more time with the old MySQL 8.0, is still will be available as an alternative in Fedora 43.

:link: Early Testing (Optional)

None defined yet.

:link: How To Test

Test the Fedora upgrade, on systems with MySQL DBs, to Fedora 43, once the change is implemented.

:link: User Experience

Load of features and enhancements inside of the software itself.

:link: Dependencies

perl-DBD-MySQL, mysql-connector-odbc

:link: Contingency Plan

  • Contingency mechanism: The change will be reverted.

  • Contingency deadline: N/A (not a System Wide Change)

  • Blocks release? No

:link: Documentation

https://dev.mysql.com/doc/relnotes/mysql/8.1/en/ https://dev.mysql.com/doc/relnotes/mysql/8.2/en/ https://dev.mysql.com/doc/relnotes/mysql/8.3/en/ https://dev.mysql.com/doc/relnotes/mysql/8.4/en/

:link: Release Notes

Last edited by @amoloney 2025-06-07T14:02:21Z

Last edited by @amoloney 2025-06-07T14:02:21Z

How do you feel about the proposal as written?

  • Strongly in favor
  • In favor, with reservations
  • Neutral
  • Opposed, but could be convinced
  • Strongly opposed
0 voters

If you are in favor but have reservations, or are opposed but something could change your mind, please explain in a reply.

We want everyone to be heard, but many posts repeating the same thing actually makes that harder. If you have something new to say, please say it. If, instead, you find someone has already covered what you’d like to express, please simply give that post a :heart: instead of reiterating. You can even do this by email, by replying with the heart emoji or just “+1”. This will make long topics easier to follow.

Please note that this is an advisory “straw poll” meant to gauge sentiment. It isn’t a vote or a scientific survey. See About the Change Proposals category for more about the Change Process and moderation policy.

This change proposal has now been submitted to FESCo with ticket #3420 for voting.

To find out more, please visit our Changes Policy documentation.

What would happen if the i686 arch CP doesn’t go through?

Would mysql 8.4 (and all it’s deps) not be built if this CP goes through?

DB administrators need to handle the DB upgrade, as usual. In case the DB admin need more time with the old MySQL 8.0, is still will be available as an alternative in Fedora 43.

Is the DB upgrade process from 8.0 to 8.4 generally straight forward?

Would 8.0 be available via dnf downgrade mysql-server?

Since Fedora 31 Fedora is not building i686 ISOs. Since Fedora 37 packages can drop i686 without having to ask permission nor announce it. This change therefore does not depend of Fedora 42 i686 proposal.

1 Like

Hi @allenhewes,
Fabio is right and I’m going in that direction.
The MySQL 8.4 is not built for i686 anymore - I explicitly added the Excludearch: %{ix86} to the MySQL 8.4 package.

MySQL 8.0 still has i686 builds and it will be available at the same time with the MySQL 8.4 (as it is now, in F42 and Rawhide), just the default will be switched.

You will still be available to install the MySQL 8.0, you will just need to use the versioned name.

The dnf install mysql will get you whatever version is the distribution default at that time.
While dnf install mysql8.0 or dnf install mysql8.4 will get you the specific version.

That is until the MySQL 8.0 will be dropped from the distribution.
The upstream EOL date of MySQL 8.0 is April 2026, which is quite soon.

Considering that April 2026 is within the lifecycle of F43, when do you plan to drop mysql 8.0?

Ideally for the F43 to be the last release that contains MySQL 8.0.

This change has been accepted by FESCo for Fedora Linux 43. A full list of approved changes to date can be found on the Change Set Page.

To find out more about how our changes policy works, please visit our docs site.

I submitted a Rawhide BODHI update ready for testing:
https://bodhi.fedoraproject.org/updates/FEDORA-2025-b0c08817ca

The change landed into Rawhide a while ago.

The only remaining fix is this PR.
Otherwise the change is complete.

I updated the Bugzilla ticket and the Change page accordingly.