Install using DNF¶
Installation Method
This guide describes standard OS installation on RPM-based operating systems (RHEL, CentOS, Rocky Linux, etc.) using DNF. Ready-to-use packages are available from the Percona Server for MySQL software repositories and the Percona downloads page. On RHEL 8+ systems, DNF has superseded YUM, but yum commands continue to work as they are aliased to dnf.
For containerized deployments:
-
For Docker containers, see Running Percona Server for MySQL in a Docker Container.
-
For Kubernetes deployments, refer to the documentation for Percona Operator based on Percona Server for MySQL or Percona Operator 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 more help for ways that we can work with you.
Prerequisites¶
Required permissions¶
You need either sudo access or root access to install packages and configure system services. The installation commands in this guide use sudo, but you can run them as the root user if you prefer.
Package verification¶
The packages are signed with GPG keys for security. The installation process automatically installs the Percona GPG key and handles key verification, but you can manually verify packages if needed.
Security Note
Always download packages from official Percona repositories to ensure authenticity and security.
Limitations¶
RHEL 8+ and other EL8+ systems enable the MySQL module by default. This module hides the Percona-provided packages and the module must be disabled to make these packages visible.
Checking the MySQL Module
RHEL 8+ systems enable the MySQL module by default, which can hide or conflict with Percona’s packages. The first installation step below shows you how to check if the module is enabled. If you see an [e] marker, you must disable the module before proceeding. If you only see [d] (default), you can proceed.
Install using DNF (RHEL 8+)¶
Standard OS Installation
The following steps install Percona Server for MySQL directly on the host operating system using DNF. These instructions are for standard OS installations, not for Kubernetes pods or containerized environments.
All commands in this guide use sudo for privilege elevation. Follow these steps:
-
Verify that the MySQL module is currently 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] next to the server profile indicates that this is the default stream. A module is only considered enabled if an [e] is present. If you see [e], it means the module is active.
-
[Optional] If the module is listed as [e]nabled, it can cause conflicts with Percona’s packages. You must disable the module before proceeding.
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. If the module was not enabled to begin with (as shown in the dnf module list output without [e]), this command will display “Nothing to do,” which is the expected result. You can then proceed with your installation. -
Install the Percona repository package:
sudo yum 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:
-
Check your internet connection.
-
Verify the URL is accessible:
curl -I https://repo.percona.com/yum/percona-release-latest.noarch.rpm -
Ensure you have sufficient disk space:
df -h
-
-
Enable the Percona Server for MySQL repository:
sudo percona-release enable-only ps-84-lts releaseExpected output
* Disabling all Percona Repositories * Enabling the Percona Server for MySQL - PS 8.4- repository <*> All done!If this step fails:
-
Check if percona-release is properly installed:
which percona-release -
Verify the package name is correct for your version.
-
Check for any error messages in the output.
-
-
Install the server package:
sudo yum 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 8.4- 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 8.4.5-5.1.el9 ps-84-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:
-
Check available packages:
yum search percona-server. -
Ensure the repository is properly configured.
-
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 8.4.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-84-lts
Next steps¶
After a successful installation, refer to the Post-installation documentation for detailed steps to configure and secure your Percona Server for MySQL installation.
Additional information¶
Red Hat certified¶
Percona Server for MySQL is certified for Red Hat Enterprise Linux 8. This certification is based on common and secure best practices, as well as successful interoperability with the operating system. Percona Server is listed in the Red Hat Ecosystem Catalog.
ARM support¶
The RPM builds contain ARM packages with the aarch64.rpm extension.
Supported platforms¶
Specific information on the supported platforms, products, and versions ican be found in the Percona Software and Platform Lifecycle document.
Install Percona Toolkit UDFs (optional)¶
Percona Server for MySQL includes user-defined functions (UDFs) from Percona Toolkit. These UDFs provide faster checksum calculations:
-
fnv_64: Fast hash function -
fnv1a_64: Alternative fast hash function -
murmur_hash: High-performance hash function
User-defined functions (UDFs) are custom functions you can add to MySQL to extend its capabilities. These particular UDFs are useful for data integrity checks and performance monitoring.
To install these functions after installation:
INSTALL COMPONENT 'file://component_percona_udf';
Expected output
Query OK, 0 rows affected (0.01 sec)
UDFs installed¶
You can now use these functions in your SQL queries. For example: SELECT fnv_64('test_string');
For detailed information about these functions, 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:
-
Test new features before official release.
-
Evaluate upcoming improvements.
-
Provide feedback on development versions.
To enable the testing repository:
sudo percona-release enable ps-84-lts testing
Expected output
* Enabling Percona Server for MySQL 8.4 LTS testing repository
* Running yum update...
Last metadata expiration check: 0:01:23 ago on Mon Jan 15 10:30:00 2024.
All packages are up to date.
Please be aware of the following limitations when using the testing repository:
-
Features may change without notice.
-
Not all features from the final release may be included.
-
May contain experimental or incomplete functionality
-
No production support for testing builds
To disable the testing repository and return to stable releases:
sudo percona-release disable testing
sudo yum update
Expected output
* Disabling Percona testing repository
* Running yum update...
Last metadata expiration check: 0:01:23 ago on Mon Jan 15 10:30:00 2024.
All packages are up to date.