Tips WHM/CPanel : Memindahkan Lokasi Folder Data MySQL

mysql-logoKemarin siang saya melakukan pengecekan  ke server WHM (Web Hosting Management) yang digunakan oleh website Excellent dan blog Vavai.com dan menemukan kasus dimana  partisi root hanya menyisakan sedikit free space. Sebagian besar isi partisi root tersebut adalah folder /var/lib/mysql yang berisi data-database MySQL server. Jika dibiarkan ada kemungkinan sisa harddisk partisi root tersebut akan semakin sedikit. Untuk menghindari masalah yang mungkin timbul, saya memutuskan untuk memindahkannya ke folder/partisi lain yang memiliki kapasitas harddisk lebih besar.

Berikut adalah proses yang saya lakukan, dengan proses down time yang minimal (sekitar 1-2 menit) dan tidak ada masalah saat sudah selesai dilakukan (dalam contoh, saya menggunakan partisi terpisah /dev/sdc1 yang berukuran sekitar 100 GB dan dimount ke folder /srv/whm) :

  1. Masuk ke WHM, pilih menu Service Manager dan hilangkan tanda check pada pilihan monitoring MySQL kemudian klik save
  2. Jalankan perintah berikut :
    mkdir -p /srv/backup/
    chmod 777 -R /srv/backup
    mysqldump --all-databases | gzip > /srv/backup/alldatabases.sql.gz
    rsync -av /var/lib/mysql /srv/whm/
    chown -R mysql:mysql /srv/whm/mysql
    /etc/init.d/mysql stop
    rsync -av --delete-after /var/lib/mysql /srv/whm/
    mv /var/lib/mysql /srv/backup
    ln -s /srv/whm/mysql /var/lib/mysql
    /etc/init.d/mysql start
    
  3. Masuk kembali ke  WHM, pilih menu Service Manager dan kembalikan tanda check pada pilihan monitoring MySQL kemudian klik save

Pada script diatas, saya memilih untuk mengambil langkah aman dengan menyalin isi data menggunakan perintah rsync kemudian melakukan pemindahan data ke folder lain sebagai backup. Jika cukup pede, bisa saja mengabaikan perintah rsync diatas, cukup mematikan service MySQL, memindahkan data ke folder lain, membuat symlink dan terakhir mengaktifkan kembali service MySQL

Untuk tipikal SysAdmin konservatif seperti saya, lebih baik menunggu sedikit lebih lama namun aman daripada gigit jari karena pemindahan data mengalami kegagalan 🙂

Sebenarnya, proses diatas bisa dilakukan untuk MySQL Server non WHM, prosedurnya sama saja dan pernah saya terapkan sewaktu memindahkan database MySQL Server di kantor tempat saya bekerja, beberapa tahun yang lalu.

Pin It

Leave a Reply

Your email address will not be published. Required fields are marked *


*