Kemarin salah satu pelanggan dedicated server kami mengalami masalah penuhnya partisi /var karena penambahan database mysql yang demikian besar.
Filesystem Size Used Avail Use% Mounted on /dev/hda8 52G 15G 35G 30% /home /dev/hda2 9.9G 3.5G 5.9G 38% /usr /dev/hda3 7.9G 7.4G 161M 98% /var
Karena tidak mungkin lagi membuat partisi baru maka direktori mysql terpaksa dipindahkan ke partisi /home karena masih banyak sisanya.
Berikut ini prosedur pemindahan direktori mysql dari /var/lib/mysql ke /home/mysql.
Pertama stop mysql dan edit my.cnf
service chkservd stop service mysql stop nano -w /etc/my.cnf
Pada bagian mysqld ubah/tambahkan baris berikut:
pid-file = /home/mysql/mysqld.pid socket = /var/lib/mysql/mysql.sock datadir = /home/mysql basedir = /home/mysql
Kemudian copy isi direktori /var/lib/mysql ke /home/mysql. Kami menggunakan perintah rsync dua kali untuk memastikan bahwa tidak ada yang tertinggal.
rsync -vrplogDtH /var/lib/mysql/ /home/mysql/ rsync -vrplogDtH /var/lib/mysql/ /home/mysql/
Sekarang buat link mysql.sock agar mysql bisa berjalan dengan semestinya:
ln -s /home/mysql/mysql.sock /var/lib/mysql/mysql.sock rm -rf /tmp/mysql.sock ln -s /home/mysql/mysql.sock /tmp/mysql.sock
Akhirnya restart mysql :
killall -9 mysqld service mysql start service chkservd start
Sebelum menghapus data mysql yang ada di direktori lama, alangkah baiknya dimonitor beberapa hari dulu untuk memastikan sesuatunya berjalan dengan semestinya. Jika semua sudah beres baru lakukan sbb:
service chkservd stop service mysql stop rm -rf /var/lib/mysql mkdir /var/lib/mysql chown mysql /var/lib/mysql ln -s /home/mysql/mysql.sock /var/lib/mysql/mysql.sock rm -rf /tmp/mysql.sock ln -s /home/mysql/mysql.sock /tmp/mysql.sock service mysql start service chkservd start
Proses pemindahan data mysql selesai dan sekarang mysql berjalan di direktori yang baru.