Penggantian MySQL dengan MariaDB di CPanel

Semenjak MySQL menjadi milik Sun Microsystems dan disusul pembelian oleh Oracle, maka sifat MySQL semakin terisolasi. Salah satu parameter, semakin sedikitnya kontribusi dari pihak luar yang disetujui dalam proses pengembangan. Menyikapi situasi ini, dibuatlah MariaDB oleh “orang-orang MySQL” sebagai alternatif database. Tidak hanya soal keterbukaan, MariaDB menjanjikan fitur dan performa yang tak kalah unggul.

Sebab MariaDB ditujukan sebagai solusi atas situasi MySQL, kompabilitas MariaDB sebagai pengganti MySQL pun menjadi cukup tinggi. Replacement database ini dalam lingkungan CPanel juga sangat memungkinkan. Bagaimana caranya?

Overview

Pada tutorial ini, MySQL pada mesin CentOS 6.4 i686 yang sudah terinstall CPanel/WHM 11.40.0 (build 24) akan digantikan dengan MariaDB. Berikut langkah-langkahnya :

1. Membackup MySQL sebagai backup bila terjadi kesalahan.

root@linuxaja [~]# cp -Rf /var/lib/mysql /var/lib/mysql-old
root@linuxaja [~]# mv /etc/my.cnf /etc/my.cnf-old

2. Melepaskan proses update MySQL dari penanganan CPanel yaitu dengan menandainya sebagai “uninstalled

root@linuxaja [~]# /scripts/update_local_rpm_versions --edit target_settings.MySQL50 uninstalled
root@linuxaja [~]# /scripts/update_local_rpm_versions --edit target_settings.MySQL51 uninstalled
root@linuxaja [~]# /scripts/update_local_rpm_versions --edit target_settings.MySQL55 uninstalled

3. Sesudahnya dilanjutkan dengan membuang RPM MySQL.

root@linuxaja [~]# /scripts/check_cpanel_rpms --fix --targets=MySQL50,MySQL51,MySQL55
[20131123.223707]    
[20131123.223707]   The following RPMs are unneeded on your system and should be uninstalled:
[20131123.223707]   MySQL55-client-5.5.32-1.cp1136
[20131123.223707]   MySQL55-devel-5.5.32-1.cp1136
[20131123.223707]   MySQL55-server-5.5.32-1.cp1136
[20131123.223707]   MySQL55-shared-5.5.32-1.cp1136
[20131123.223707]   MySQL55-test-5.5.32-1.cp1136
[20131123.223707]   Removing 0 broken rpms: 
[20131123.223707]   rpm: no packages given for erase
[20131123.223707]   No new RPMS needed for install
[20131123.223708]   Uninstalling unneeded rpms: MySQL55-test MySQL55-server MySQL55-client MySQL55-shared MySQL55-devel

4. Setelah didapat “clean slate” untuk MariaDB, maka diteruskan dengan menambahkan repositori MariaDB ke dalam sistem. Jenis repositori menyesuaikan OS yang digunakan. Referensi bisa didapat dari https://downloads.mariadb.org/mariadb/repositories/

root@linuxaja [~]# nano /etc/yum.repos.d/MariaDB.repo

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

5. Hapus Php dari line /etc/yum.conf

6. Lanjutkan dengan installasi MariaDB (progress lengkap disertakan)

root@linuxaja [~]# yum install MariaDB-server MariaDB-client MariaDB-devel

Dependencies Resolved

=================================================================================================
 Package                     Arch              Version                Repository            Size
=================================================================================================
Installing:
 MariaDB-client              i686              10.0.6-1               mariadb               11 M
 MariaDB-devel               i686              10.0.6-1               mariadb              6.2 M
 MariaDB-server              i686              10.0.6-1               mariadb               37 M
Installing for dependencies:
 MariaDB-common              i686              10.0.6-1               mariadb               23 k
 MariaDB-compat              i686              10.0.6-1               mariadb              2.6 M

Transaction Summary
=================================================================================================
Install       5 Package(s)

Total download size: 56 M
Installed size: 228 M

Downloading Packages:
(1/5): MariaDB-10.0.6-centos6-i686-client.rpm                             |  11 MB     00:01     
(2/5): MariaDB-10.0.6-centos6-i686-common.rpm                             |  23 kB     00:00     
(3/5): MariaDB-10.0.6-centos6-i686-compat.rpm                             | 2.6 MB     00:00     
(4/5): MariaDB-10.0.6-centos6-i686-devel.rpm                              | 6.2 MB     00:00     
(5/5): MariaDB-10.0.6-centos6-i686-server.rpm                             |  37 MB     00:03     
-------------------------------------------------------------------------------------------------
Total                                                             10 MB/s |  56 MB     00:05     
warning: rpmts_HdrFromFdno: Header V4 DSA/SHA1 Signature, key ID 1bb943db: NOKEY
Retrieving key from https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Importing GPG key 0x1BB943DB:
 Userid: "Daniel Bartholomew (Monty Program signing key) <dbart@askmonty.org>"
 From  : https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
Is this ok [y/N]: y

7. Restart database

root@linuxaja [~]# /etc/init.d/mysql start
Starting MySQL.. SUCCESS!

8. Jalankan perintah mysql_upgrade, dan sesudahnya restart kembali

root@linuxaja [~]# mysql_upgrade
..
..
vsxvm_wp254.wp_usermeta                            OK
vsxvm_wp254.wp_users                               OK
Phase 3/3: Running 'mysql_fix_privilege_tables'...
OK

root@linuxaja [~]# /etc/init.d/mysql restart
Shutting down MySQL.. SUCCESS! 
Starting MySQL. SUCCESS!

9. Kembalikan baris Php di dalam /etc/yum.conf (poin 5 di atas)

10. Lakukan rebuild easyapache/php untuk memastikan semua modul berfungsi normal.

root@linuxaja [~]#  /scripts/easyapache --build
..
..
!! Build Complete! !!
!! Verbose logfile is at '/usr/local/cpanel/logs/easy/apache/build.1385236866' !!

Setelah pergantian MySQL ke MariaDB, seluruh situs yang dihosting dalam account CPanel tetap berfungsi sebagaimana mestinya. Pun PhpMyAdmin tetap dapat digunakan.

PhpMyAdmin dan MariaDB

PhpMyAdmin dan MariaDB

Semoga bermanfaat!