How to Replace MySQL with MariaDB
Overview
Warning:
- We strongly recommend that you use WHM’s MySQL or MariaDB Upgrade interface (Home >> Software >> MariaDB/MySQL Upgrade) to replace the cPanel-provided and cPanel-managed MySQL installation with MariaDB. To do this, you must upgrade your server to cPanel & WHM version 11.48 or later.
- This document describes an unsupported workaround that is not guaranteed to work in the future.
- After a system administrator performs these steps on a server, it is the system administrator’s responsibility to manage and maintain the server’s database software.
- We recommend that only experienced system administrators attempt to perform these steps.
- We are not responsible for any data loss that an attempt to perform these steps causes.
Replace MySQL with MariaDB
To replace the cPanel-provided MySQL installation with MariaDB, perform the following steps:
- Run the following commands to back up your existing MySQL data:
cp -Rf /var/lib/mysql /var/lib/mysql-old mv /etc/my.cnf /etc/my.cnf-old
- Run the following commands to disable the MySQL RPM targets. cPanel & WHM will no longer handle MySQL updates, and the rpm.versions system will mark the associated MySQL RPMs as
uninstalled
./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 /scripts/update_local_rpm_versions --edit target_settings.MySQL56 uninstalled
- Run the following command to remove the existing MySQL RPMs from your server. This will leave a clean slate for the MariaDB installation.
/scripts/check_cpanel_rpms --fix --targets=MySQL50,MySQL51,MySQL55,MySQL56
You will see a message that is similar to the following output:
[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!
- Run the following command to create a
yum
repository for MariaDB:vi /etc/yum.repos.d/MariaDB.repo
- Enter the following contents for the
/etc/yum.repos.d/MariaDB.repo
file:[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/VERSION/centos6-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Where
VERSION
represents the currently-available version of MariaDB. For example, if the current version is 5.5.40, then theMariaDB.repo
file would contain:[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/5.5.40/centos6-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
- Use your preferred text editor to open the
/etc/yum.conf
file and removephp*
andmysql*
from theexclude
line. Theexclude
line in your/etc/yum.conf
file may appear similar to the following example:exclude=bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*
- Run the following commands to install MariaDB and restart the appropriate services:
yum install MariaDB-server MariaDB-client MariaDB-devel php-mysql /etc/init.d/mysql start mysql_upgrade /etc/init.d/mysql restart
- Run the following command to rebuild EasyApache’s PHP to ensure that all PHP modules remain intact:
/scripts/easyapache --build
Leave A Comment?
You must be logged in to post a comment.