Install Percona Server for MySQL using downloaded RPM packages¶
Download the packages from Percona Product Downloads. If needed, Instructions for the Percona Product Download are available.
The RPM builds for RHEL 8 and RHEL 9 contain ARM packages with the aarch64.rpm extension. This means that Percona Server for MySQL is available for users on ARM-based systems.
The following example downloads Percona Server for MySQL 8.4.6-6 release x86_64 packages for RHEL 8.
-
Use
wgetto download the tar file.$ wget https://downloads.percona.com/downloads/Percona-Server-8.4/Percona-Server-8.4.6-6/binary/redhat/8/x86_64/Percona-Server-8.4.6-6-r238b3c02-el8-x86_64-bundle.tar -
Unpack the bundle to get the packages:
$ tar xvf Percona-Server-8.4.6-6-r238b3c02-el8-x86_64-bundle.tar -
To view a list of packages, run the following command:
The output should look like the following:$ ls *.rpmExpected output
percona-icu-data-files-8.4.6-6.1.el8.x86_64.rpm percona-mysql-router-8.4.6-6.1.el8.x86_64.rpm percona-mysql-router-debuginfo-8.4.6-6.1.el8.x86_64.rpm percona-server-client-8.4.6-6.1.el8.x86_64.rpm percona-server-client-debuginfo-8.4.6-6.1.el8.x86_64.rpm percona-server-debuginfo-8.4.6-6.1.el8.x86_64.rpm percona-server-debugsource-8.4.6-6.1.el8.x86_64.rpm percona-server-devel-8.4.6-6.1.el8.x86_64.rpm percona-server-rocksdb-8.4.6-6.1.el8.x86_64.rpm percona-server-rocksdb-debuginfo-8.4.6-6.1.el8.x86_64.rpm percona-server-server-8.4.6-6.1.el8.x86_64.rpm percona-server-server-debuginfo-8.4.6-6.1.el8.x86_64.rpm percona-server-shared-8.4.6-6.1.el8.x86_64.rpm percona-server-shared-compat-8.4.6-6.1.el8.x86_64.rpm percona-server-shared-debuginfo-8.4.6-6.1.el8.x86_64.rpm percona-server-test-8.4.6-6.1.el8.x86_64.rpm percona-server-test-debuginfo-8.4.6-6.1.el8.x86_64.rpm -
Install
jemallocwith the following command, if needed. See When to install jemalloc for guidance:$ wget https://repo.percona.com/yum/release/8/RPMS/x86_64/jemalloc-3.6.0-1.el8.x86_64.rpm -
An EL8-based RHEL distribution or derivatives package installation requires the mysql module to be disabled before installing the packages:
$ sudo yum module disable mysql -
Install all the packages (for debugging, testing, etc.) with the following command:
$ sudo rpm -ivh *.rpmNote
When installing packages manually, you must make sure to resolve all dependencies and install any missing packages yourself.
When to install jemalloc¶
jemalloc is an alternative memory allocator that can improve performance and reduce memory fragmentation in certain scenarios. Consider the following when deciding whether to install jemalloc:
Install jemalloc when:¶
-
You have high-concurrency workloads with many threads
-
You experience memory fragmentation issues that impact performance
-
You run multi-threaded applications that perform frequent memory allocation and deallocation
-
You want to use memory profiling features to investigate memory-related issues.
-
You observe performance degradation related to memory allocation in your current setup
Do not install jemalloc when:¶
-
Your current memory allocator (typically glibc malloc) performs adequately for your workload
-
You have single-threaded or low-concurrency workloads where jemalloc’s benefits are minimal
-
You encounter compatibility issues with jemalloc in your environment
-
You need to debug memory issues that may be complicated by using an alternative allocator
-
Your system is already optimized and stable with the default memory allocator