Berikut ini adalah panduan cara memindahkan datadir Mysql ke Folder Lain atau ke Hardisk lain yang sudah di mount jika misalnya anda akan menggunakan hardisk baru.
Adapun jika diringkas tahapannya adalah sbb
- Stop Service mysql
- Memindahkan data lama ke folder baru
- Merubah setting mysql di my.cnf
- Penyesuaian selinux
- Start Service Mysql
Berikut ini adalah proses detailnya
Stop Service Mysql
# service mysqld stop
Membuat Folder Baru di Partisi
tentukan folder partisinya
# mkdir /srv/mysql/
# chown mysql:mysql /srv/mysql
Pindahkan data lama MySql ke folder baru
Untuk amanya anda copy saja data sehingga ada masih punya data backup jika mungkin ada kesalahan nantinya
# cp /var/lib/mysql/* /srv/mysql/
Setting Ulang Konfigurasi Mysql
Secara umum file konfigurasi mysql berada di folder /etc
# nano /etc/mysql/my.cnf
Ubah datadir sebelumnya
datadir=/var/lib/mysql
Menjadi
datadir=/srv/mysql
Kemudian ubah
socket=/var/lib/mysql/mysql.sock
Menjadi
socket=/srv/mysql/mysql.sock
Simpan file
Mensetting ulang Selinux
Jalankan peritah dibawah ini dan apabila anda mendapatkan nilai “Permissive” atau “Disabled” maka lewati proses setting selinux
# getenforce
Untuk yang tidak mendapatkan hasil spt diatas jalankan
# semanage fcontext -a -t mysqld_db_t "/srv/mysql(/.*)?"
Jika di sistem anda tidak terdapat command semanage maka coba install paketnya (yum -y install policycoreutils-python
)
Setelah anda melakukan perintah diatas selanjutnya jalankan
# restorecon -Rv /srv/mysql
Start Service Mysql
# service mysqld start
Apakah servicenya jalan? jika sudah jalan silahkan verifikasi dengan login ke mysql
$ mysql -u root -p
mysql> show databases;
Apabila anda mengakses dan menemukan informasi
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’
Cara termudah adalah dengan membuat symlink dari folder lama ke folder baru
- Stop service mysql
- Pindahkan data lama ke folder baru
mv /var/lib/mysql /var/lib/mysql_backup
- Buat Symlink
ln -s /srv/mysql /var/lib/mysql
- Jika anda menggunakan innodb ada perlu mengcopy beberapa file. copykan file ini
cp /var/lib/mysql_backup/ib* /srv/mysql/
- Start mysql
Dan semua pemindahan datadir Mysql Selesai, selamat mencoba
Sumber : http://crashmag.net/change-the-default-mysql-data-directory-with-selinux-enabled