- Stop mysql server daemon dengan:
sudo /etc/init.d/mysql stop
- Buat directory sebagai tujuan datadir yang baru, misal:
/home/backup/mysql
- Change owner directory tersebut ke
mysql:mysql
dengan cara:sudo chown mysql:mysql /home/backup/mysql
- Copy semua file dan directory dari datadir yang lama (default di
/var/lib/mysql/
) ke datadir yang baru. Tapi ingat, fileib_arch_log_xxxxxxxxxxx
danib_logfilexx
tidak ikut di-copy. - Setelah itu check file hasil copy adalah milik user
mysql
. Paling gampang sih chown saja semuanya:sudo chown -R mysql:mysql /home/backup/mysql
- Sekarang, ganti informasi datadir di
/etc/mysql/my.cnf
ke/home/backup/mysql
- Kalau sudah yakin benar, start lagi mysql server daemon:
sudo /etc/init.d/mysql start
- Untuk testing apa benar sekarang sudah pakai datadir yang baru, bisa dengan membuat database baru dan melihat apa database itu ter-create di datadir baru.
- Kalau sudah, biarkan dulu selama beberapa hari sampai merasa yakin 100%.
- Setelah itu, data di datadir lama bisa dihapus total.
Initializing MySQL database: Installing all prepared tables
060125 10:41:44 [Warning] Can't create test file /home/backup/mysql/localhost.lower-test
/usr/libexec/mysqld: Can't change dir to '/home/backup/mysql/' (Errcode: 13)
060125 10:41:44 [ERROR] Aborting
Kalau langkah2 diatas sudah benar dan directory pada datadir dan semua isinya sudah menjadi milik user mysql dan memang benar AppArmor terinstall, maka langkah berikutnya adalah mengubah entry profile AppArmor untuk mysqld di
/etc/apparmor.d/usr.sbin.mysqld.
Tambahkan entry berikut pada file tersebut:
/home/global/mysql/ r,
/home/global/mysql/** rwk,
2 comments:
saya menggunakan xampp di ubuntu.. gimana ya caranya menggubah datadir mysql agar berada di home....
sama saja, ikutin saja manual diatas :)
Posting Komentar