How to replace MySQL with MariaDB in 11.36+

UPDATE: As of cPanel & WHM 11.48 we now support MariaDB natively, and this guide no longer needs to be followed. Please read about that in the 11.48 release notes. 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 …

Spread the love
UPDATE: As of cPanel & WHM 11.48 we now support MariaDB natively, and this guide no longer needs to be followed. Please read about that in the 11.48 release notes.
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.
Important: This guide may or may not work if you are utilizing MySQL 5.6 as MariaDB currently only has 5.5 and 10.0 which is a port off of 5.5 with some of 5.6 ported into it. Proceed at your own risk.

Below you will find some steps on how to affectively stop cPanel/WHM from maintaining MySQL and begin utilizing MariaDB for any and all database activity on your server. MariaDB is “An enhanced, drop-in replacement for MySQL” (Source: https://mariadb.com/). The guide found below is based around utilizing the new RPM tools we provide in 11.36. Important Links MariaDB Versus MySQL Compatibility MariaDB 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

/usr/local/cpanel/scripts/update_local_rpm_versions --edit target_settings.MySQL50 uninstalled
/usr/local/cpanel/scripts/update_local_rpm_versions --edit target_settings.MySQL51 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!
/usr/local/cpanel/scripts/check_cpanel_rpms --fix --targets=MySQL50,MySQL51,MySQL55
[20130218.235953]
[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/MariaDB.repo

place the following inside of it depending on the DISTRO and MySQL version (https://downloads.mariadb.org/mariadb/repositories/):

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/[version]/[osdistro]/
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Replace [version] with the equivalent of the version of MySQL you are running. Replace [osdistro] with the operating system you are utilizing. Step 5: Remove php from the /etc/yum.conf file then run the following commands

yum install MariaDB-server MariaDB-client MariaDB-devel
/etc/init.d/mysql start
mysql_upgrade
/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

/usr/local/cpanel/scripts/easyapache --build
Facebook Comments

More Stuff

Starting with Strace What is strace? Strace is a “system call trace” program. It attaches to a process and tracks system calls and signals made to and from it (and possibl...
Part 3: How I Built a cPanel Hosting Environment o... In Part 2 of this series, we discussed selecting and launching a new Amazon Machine Instance (AMI), creating and configuring that instance to serve as...
Hosting 101: VPS vs Dedicated When it comes to hosting, there are lots of acronyms and terms that get thrown around. However, when it comes to the ABC’s of web hosting, it’s import...
3 Ways to Prevent Email Abuse *  This post was originally posted on July 12, 2016, and has been updated for accuracy.  Over 100 billion emails get sent per day. Everything from out...
Spread the love

Posted by News Monkey