Untuk anda yang menggunakan server dengan sistem operasi linux, tentu sudah tidak asing lagi dengan tempat bersarangnya MySql yaitu di /var/lib/mysql. Tulisan kali ini di peruntukan untuk anda yang mungkin pernah mengalami kondisi dimana partisi /var penuh, tentunya saat fatal jika sampai /var penuh, karena mysql tidak akan mungkin mau running dengan baik. Di partisi /var sendiri yang paling banyak menggunakan ruang adalah /lib/mysql yang merupakan tempat bersarangnya semua data MySql, jadi jika /var penuh maka hal yang dapat kita lakukan adalah merelokasi mysql ke partisi lain.

Dikarenakan perkerjaan saya sebagaian besar bergelut dengan server berbasis distro centos dan cpanel, untuk itu tutorial kali ini pun saya tulis berdasarkan pengalaman menggunakan server centos dan cpanel.

1. Login ssh ke server anda.

2. Cek alokasi partisi saat ini dengan command : df -h


root@server-orang [~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5             9.5G  6.7G  2.3G  75% /
/dev/sda8             220G   82G  127G  40% /home
/dev/sdb2             147G  135G  5.2G  97% /backup
/dev/sda7             4.8G  484M  4.1G  11% /tmp
/dev/sda3              10G  9.5G  500M  95% /var
/dev/sda2              29G   14G   14G  51% /usr
/dev/sdb1             142G   47G   89G  35% /home2
/dev/sda1             289M   38M  237M  14% /boot
tmpfs                 2.0G     0  2.0G   0% /dev/shm

Dari hasil df -h diatas dapat dilihat bahwa kondisi /var saat ini sudah terpakai 95% (hampir penuh), terlihat juga bahwa /home2 masih sangat kosong. Untuk itu, saya akan merelokasi mysql ke /home2 saja yang kebetulan juga berada di harddisk lain yaitu sdb.

3. Stop service mysql

/etc/init.d/mysql stop

4. Rsync directory /var/lib/mysql ke directory/partisi yang masih kosong (dalam tulisan ini adalah /home2) :

rsync -vrplogDtH --progress /var/lib/mysql /home2/

5. Rename folder mysql dengan nama lain, hal ini difungsikan sebagai backup

mv /var/lib/mysql /var/lib/mysql-asli

6. Buat symlink mysql ke /home2

cd /var/lib
ln -s /home2/mysql mysql

7. Ubah ownership symlink ke mysql.mysql

chown -h mysql:mysql mysql

8. Jalankan kembali service mysql

/etc/init.d/mysql start

Sampai tahap ini kita telah selesai merelokasi mysql ke partisi lain dengan menggunakan symlink. Folder mysql sebelumnya yang kita rename menjadi mysql-asli dapat anda move ke partisi lain yang masih lowong sebagai backup. Uji hasil relokasi dengan akses seluruh web yang sedang aktif dan pastikan tidak ada error koneksi kedatabase.
Selamat mencoba.