cPanel® Blog

How to replace MySQL with Percona in 11.36

Important: This setup is considered to be unsupported by the cPanel/WHM team. Please note that once cPanel/WHM no longer maintains MySQL on your system it is on the Systems Administrator to manage and maintain any updates and maintenance on the database software.  We recommend only experienced systems administrators perform the above and we are not responsible for any possible data loss.

Below you will find some steps on how to affectively stop cPanel/WHM from maintaining MySQL and begin utilizing Percona for any and all database activity on your server. You can find the Percona website at guide found below is based around utilizing the new RPM tools we provide in 11.36.
You will find that the steps provided here are similar to that of my last weeks blog Replacing MySQL with MariaDB in 11.36.
Important Links

Percona versus MySQL Benchmarks
Percona versus MySQL Features

Documentation on the RPM system provided by cPanel & WHM

Step 1: Backup existing MySQL data

Make sure to save all existing data just in case there are any issues.

cp -Rf /var/lib/mysql /var/lib/mysql-old
mv /etc/my.cnf /etc/my.cnf-old


Step 2: Disable the targets so cPanel no longer handles MySQL updates

The following will mark the versions of MySQL we distribute as uninstalled so they are no longer maintained by cPanel/WHM

/scripts/update_local_rpm_versions --edit target_settings.MySQL50 uninstalled
/scripts/update_local_rpm_versions --edit target_settings.MySQL51 uninstalled
/scripts/update_local_rpm_versions --edit target_settings.MySQL55 uninstalled


Step 3: Remove existing MySQL RPM’s so theres a clean slate for MariaDB

Important: The below command will uninstall the MySQL RPM’s!
/scripts/check_cpanel_rpms --fix --targets=MySQL50,MySQL51,MySQL55
[20130218.235953]   The following RPMs are unneeded on your system and should be uninstalled:
[20130218.235953]   MySQL51-devel.5.1.68-1.cp1136
[20130218.235953]   MySQL51-test.5.1.68-1.cp1136
[20130218.235953]   MySQL51-shared.5.1.68-1.cp1136
[20130218.235953]   MySQL51-client.5.1.68-1.cp1136
[20130218.235953]   MySQL51-server.5.1.68-1.cp1136
[20130218.235953]   Removing 0 broken rpms:
[20130218.235953]   rpm: no packages given for erase
[20130218.235953]   No new RPMS needed for install
[20130218.235953]   Uninstalling unneeded rpms: MySQL51-devel MySQL51-test MySQL51-shared MySQL51-client MySQL51-server
[20130219.000004]   Shutting down MySQL........ SUCCESS!


Step 4: Create a yum repository for MariaDB

vi /etc/yum.repos.d/percona.repo

place the following inside of it (it will recognize your OS/arch);

name = CentOS $releasever - Percona
enabled = 1
gpgkey =
gpgcheck = 1


Step 5: Remove php from the /etc/yum.conf file then run the following commands

yum install Percona-Server-client-55 Percona-Server-server-55 Percona-Server-devel-55
/etc/init.d/mysql start
/etc/init.d/mysql restart


Step 5: Add php back to the /etc/yum.conf file to ensure future php updates don’t get clobbered


Final Step: Rebuild easyapache/php to ensure modules are intact/working

/scripts/easyapache --build