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: mschorm@redhat.com == 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 == == 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 -- devel-announce@lists.fedoraproject.org To unsubscribe send an email to devel-announce-leave@lists.fedoraproject.org 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/devel-announce@lists.fedoraproject.org Do not reply to spam, report it: https://forge.fedoraproject.org/infra/tickets/issues/new
No comments:
Post a Comment