Install using DNF¶
Installation method
This guide documents the standard operating system (OS) installation on Red Hat Package Manager (RPM)-based systems. Supported distributions include Red Hat Enterprise Linux (RHEL), CentOS, and Rocky Linux. The procedure uses Dandified YUM (DNF). The Percona Server for MySQL software repositories and the [Percona downloads] page provide the required packages. DNF replaces YUM on RHEL 8 and later. The yum commands continue to work because the system aliases them to dnf.
Containerized deployments use separate guides:
-
For Docker containers, see Running Percona Server for MySQL in a Docker Container.
-
For Kubernetes deployments, see Percona Operator for MySQL based on Percona Server for MySQL or Percona Operator for MySQL based on Percona XtraDB Cluster.
The percona-release tool is a command-line utility that simplifies the management and installation of Percona software packages, providing access to the latest versions and ensuring consistency across environments. For more information, refer to the Percona Software Repositories Documentation.
We gather Telemetry data in the Percona packages and Docker images.
Review Get help from Percona for ways that we can work with you.
Prerequisites¶
Review the following requirements before you start the installation.
Required permissions¶
Package installation and service configuration require sudo access or root access. The commands in this guide use sudo. You can run the commands as the root user instead.
Package verification¶
Percona signs all packages with GNU Privacy Guard (GPG) keys. The installation process installs the Percona GPG key and verifies signatures automatically. You can verify packages manually when required.
Security note
Always download packages from the official Percona repositories to confirm authenticity.
Limitations¶
RHEL 8 and later systems enable the MySQL module by default. The module hides the Percona-provided packages. Disable the module to make the Percona packages visible.
Checking the MySQL module
RHEL 8 and later systems enable the MySQL module by default. The module can hide or conflict with Percona packages. The first installation step in the following section checks whether the module is enabled. An [e] marker indicates that you must disable the module before proceeding. A [d] marker indicates the default stream and allows you to proceed.
Install using DNF (RHEL 8 and later)¶
Standard OS installation
The following steps install Percona Server for MySQL directly on the host operating system using DNF. The procedure applies to standard OS installations, not to Kubernetes pods or containerized environments.
All commands in this guide use sudo for privilege elevation. Follow these steps:
-
Verify whether the MySQL module is enabled on your system:
sudo dnf module list mysqlExpected output
Rocky Linux 9 - BaseOS 2.2 MB/s | 2.6 MB 00:01 Rocky Linux 9 - AppStream 3.7 MB/s | 8.2 MB 00:02 Rocky Linux 9 - Extras 35 kB/s | 18 kB 00:00 Rocky Linux 9 - AppStream Name Stream Profiles Summary mysql 8.4 api, client, filter, server [d] MySQL Module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledThe
[d]marker next to the server profile indicates the default stream. A module is enabled only when an[e]marker is present. An[e]marker indicates that the module is active. -
Disable the MySQL module if step 1 lists the module as
[e]-enabled. The MySQL module conflicts with Percona packages. Run the following command:sudo dnf module disable mysqlExpected output
Last metadata expiration check: 0:33:11 ago on Fri Aug 29 14:37:35 2025. Dependencies resolved. Nothing to do. Complete!The
dnf module disablecommand disables the MySQL module. When the module is not enabled, the command returnsNothing to do. This output is expected. Proceed with the installation. -
Install the Percona repository package:
sudo dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpmExpected output
Last metadata expiration check: 1:04:21 ago on Fri Aug 29 14:37:35 2025. percona-release-latest.noarch.rpm 69 kB/s | 28 kB 00:00 Dependencies resolved. =========================================================================== Package Architecture Version Repository Size =========================================================================== Installing: percona-release noarch 1.0-32 @commandline 28 k Transaction Summary =========================================================================== Install 1 Package ... Installed: percona-release-1.0-32.noarch Complete!If this step fails, take the following actions:
-
Check your internet connection.
-
Verify that the URL is accessible:
curl -I https://repo.percona.com/yum/percona-release-latest.noarch.rpm -
Confirm that the system has sufficient disk space:
df -h
-
-
Enable the Percona Server for MySQL repository:
sudo percona-release enable-only ps-97-lts releaseExpected output
* Disabling all Percona Repositories * Enabling the Percona Server for MySQL - PS 9.7- repository <*> All done!If this step fails, take the following actions:
-
Check that
percona-releaseis installed:which percona-release -
Verify that the package name is correct for your version.
-
Review the command output for error messages.
-
-
Install the server package:
sudo dnf install percona-server-serverExpected output
Percona Release release/noarch YUM reposit 6.0 kB/s | 2.5 kB 00:00 Percona Server for MySQL - PS 9.7- release 1.5 MB/s | 2.4 MB 00:01 Percona Telemetry release/aarch64 YUM repo 6.8 kB/s | 2.7 kB 00:00 Dependencies resolved. =========================================================================== Package Arch Version Repository Size =========================================================================== Installing: percona-server-server aarch64 9.7.0-0.el9 ps-97-lts-release-aarch64 ... systemd-252-51.el9_6.1.aarch64 systemd-pam-252-51.el9_6.1.aarch64 systemd-rpm-macros-252-51.el9_6.1.noarch Complete!If this step fails, take the following actions:
-
List available packages:
dnf search percona-server. -
Verify that the repository configuration is correct.
-
Check for package conflicts with existing MySQL installations.
-
Review error messages for specific issues.
-
See Configuring Percona repositories with percona-release for more information.
Post-installation configuration
Percona Server for MySQL 9.7.x comes with the MyRocks storage engine. This storage engine is installed as a plugin. For information on installing and configuring MyRocks, refer to the Percona MyRocks Installation Guide.
Unattended installations¶
The -y flag automatically confirms all actions without asking for user input. This makes running commands smoother, especially in situations where you can’t or don’t want to interact, like during unattended installations or automated scripts. However, keep in mind that using the -y flag skips confirmation prompts, which means you won’t have a chance to review any changes before they’re made. So, it’s best to use this flag only when you’re sure about the command you’re executing.
The recommended syntax for using this flag with the percona-release setup is:
$ percona-release setup -y ps-97-lts
Next steps¶
After installation completes, see Post-installation for steps to configure and secure your Percona Server for MySQL installation.
Additional information¶
The following sections describe certifications, hardware architecture support, and platform compatibility.
Red Hat certified¶
Red Hat certifies Percona Server for MySQL on Red Hat Enterprise Linux 8. The certification confirms operating system interoperability and adherence to common security practices. Percona Server appears in the Red Hat Ecosystem Catalog.
ARM support¶
The RPM builds contain Advanced RISC Machine (ARM) packages that use the aarch64.rpm extension.
Supported platforms¶
The Percona Software and Platform Lifecycle document lists supported platforms, products, and versions.
Install Percona Toolkit UDFs (optional)¶
User-defined functions (UDFs) extend MySQL with custom functions. Percona Server for MySQL includes UDFs from Percona Toolkit for data integrity checks and performance monitoring. The following table lists the UDFs that provide faster checksum calculations:
| Function | Description |
|---|---|
fnv_64 |
Fast 64-bit hash function |
fnv1a_64 |
Variant of fnv_64 with improved distribution |
murmur_hash |
High-performance non-cryptographic hash function |
To install the functions after the server installation, run the following command:
INSTALL COMPONENT 'file://component_percona_udf';
Expected output
Query OK, 0 rows affected (0.01 sec)
Verify the UDF installation¶
The functions become available for use in SQL queries. For example: SELECT fnv_64('test_string');
For detailed information, see Percona Toolkit UDF functions.
Install the Percona testing repository (advanced users only)¶
Do not use testing repositories in production environments. Testing builds are pre-release versions that may contain bugs or incomplete features.
Percona offers pre-release builds from the testing repository for advanced users who want to complete the following actions:
-
Evaluate upcoming improvements.
-
Provide feedback on development versions.
-
Test features before the official release.
To enable the testing repository, run the following command:
sudo percona-release enable ps-97-lts testing
Expected output
* Enabling Percona Server for MySQL 9.7 testing repository
* Running dnf update...
Last metadata expiration check: 0:01:23 ago on Mon Jan 15 10:30:00 2024.
All packages are up to date.
The testing repository has the following limitations:
-
Features can change without notice.
-
Percona does not provide production support for testing builds.
-
The repository may contain experimental or incomplete functionality.
-
The repository may exclude features from the final release.
To disable the testing repository and return to stable releases, run the following commands:
sudo percona-release disable testing
sudo dnf update
Expected output
* Disabling Percona testing repository
* Running dnf update...
Last metadata expiration check: 0:01:23 ago on Mon Jan 15 10:30:00 2024.
All packages are up to date.