EmergencyEMERGENCY? Get 24/7 Help Now!

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

 | January 11, 2017 |  Posted In: Hardware and Storage, MySQL, Percona Server, Percona Software, Percona Toolkit, Percona XtraBackup

PREVIOUS POST
NEXT POST

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:

Run:

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.

PREVIOUS POST
NEXT POST
Manjot Singh

Manjot Singh is an Architect with Percona in California. He loves to learn about new technologies and apply them to real world problems. Manjot is a veteran of startup and Fortune 50 enterprise companies alike with a few years spent in government, education, and hospital IT.

2 Comments

    • 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.

Leave a Reply