How to Replace MySQL with Percona Server on a CPanel, WHM VPS or Dedicated Server

Replace MySQL with Percona ServerIn this blog post, we’ll look at how to replace MySQL with Percona Server for MySQL on a CPanel, WHM VPS or dedicated server.

In general, CPanel and WHM have been leaning towards support of MariaDB over other flavors. This is partly due to the upstream repos replacing the MySQL package with MariaDB (for example, on CentOS).

MySQL 5.6 is still supported though, which means they are keeping support for core MySQL products. But if you want to get some extra performance enhancements or enterprise features for free, without getting too many bells and whistles, you might want to install Percona Server.

I’ve done this work on a new dedicated server with the latest WHM and CPanel on CentOS 7, with MySQL 5.6 installed. Besides the backup, this is a fairly quick process.

It’s pretty simple. From the Percona Server for MySQL 5.7 installation doc, we can get the YUM repo. (Run commands as root if you can, otherwise as sudo.)

Now that we have the repo, let’s install Percona XtraBackup in case we need to roll this back at any point:

This server had a drive mounted at /backup, so I created the backup with the following commands:

Now that we have a good backup, let’s remove MySQL:

Depending on your dependency chain, this could remove Percona XtraBackup, but that can be fixed. Let’s accept this uninstall.

Let’s install Percona Server for MySQL 5.7 and Percona Toolkit:

Now that it’s installed ensure the mysql service is running. If it isn’t, start it. Now let’s upgrade:

NOTE. This works if you can log in as root without a password; if you can’t, you will need to specify the -u and -p flags.

Once you run the upgrade, restart the mysql service:

Additional Steps to Make Cpanel and Apache Work Correctly with this Change

You may get errors like this:


This will tell Cpanel that it shouldn’t try to install these. Cpanel suggests running this as well:

Now you need to rebuild EasyApache’s PHP to ensure that all PHP modules remain intact:

And there you go, you are now running on Percona Server for MySQL 5.7. If your managed providers tell you it’s not supported, don’t worry! It works as long as CPanel supports MySQL 5.6.

If you have any issues, just restore the backup.

NOTE: One thing to keep in mind is that 5.7 breaks CPanel’s ability to create users in MySQL. I believe this is due to the changes to the mysql.user table. If this is an issue for you, you can always use Percona Server for MySQL 5.6.

Share this post

Comments (6)

  • Andrei ZeeGiant

    This is incomplete. Please see for the proper steps to install Percona, on a cPanel server.

    January 12, 2017 at 2:14 am
    • Manjot Singh

      Andrei, I added more info based on your link. Thank you so much. It solved some issues I saw in the test environment I was working in.

      February 3, 2017 at 5:43 pm
    • Samuel Marchan Fernandez

      That link was removed, any fresh link?

      January 24, 2020 at 12:19 pm
  • Mohit Mehta

    I have vps with hostgator centOS running mysql 5.6, Shall I install percona server as instructed above and leave mysql as it is? Or shall I replace Mysql server?

    May 25, 2017 at 4:00 am
  • splaquet

    would this be the same process if replacing MariaDB, instead of MySQL? …replacing any “yum mysql…” references with “yum maria…” references?

    i’m trying replace mariadb on a CentOS7 w/ CloudLinux7 using MySql_Governor… thought I’d ask… couldn’t hurt 😉

    August 17, 2018 at 3:25 pm
  • shubham singh

    i m using Cpanel now. is my site is now on MySQL 5.7 is it good to install poercona. i m not using cloudlinux

    at present mysql take too much load /usr/sbin/mysqld –daemonize –pid-file=/var/run/mysqld/ some tome it take 20-35% load please help to reduce

    June 10, 2020 at 5:20 pm

Comments are closed.

Use Percona's Technical Forum to ask any follow-up questions on this blog topic.