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
/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