Skip to content

Rate this page
Thanks for your feedback
Thank you! The feedback has been submitted.

For help, click the link below to get free database assistance or contact our experts for personalized support.

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:

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:

  1. Verify whether the MySQL module is enabled on your system:

    sudo dnf module list mysql
    
    Expected 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]nstalled
    

    The [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.

  2. 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 mysql
    
    Expected 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 disable command disables the MySQL module. When the module is not enabled, the command returns Nothing to do. This output is expected. Proceed with the installation.

  3. Install the Percona repository package:

    sudo dnf install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
    
    Expected 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

  4. Enable the Percona Server for MySQL repository:

    sudo percona-release enable-only ps-97-lts release
    
    Expected 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-release is installed: which percona-release

    • Verify that the package name is correct for your version.

    • Review the command output for error messages.

  5. Install the server package:

    sudo dnf install percona-server-server
    
    Expected 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.