Mengubah Default DataDir MySQL di Ubuntu Hardy
Dari awal saya memakai linux, saya selalu memindah datadir mysql di laptop saya ke tempat lain di /home. Tujuannya apa? agar setiap kali upgrade atau install ulang linux, saya tidak perlu repot-repot backup data mysql. Kan repot tuh, apa lagi kalau sampai lupa backup, bisa kacau. Begitu juga dengan setting httpd.conf apache. Tapi ini untuk artikel lain saja. Yang membuat saya menulis artikel ini karena saya tidak tahu kalau ubuntu hardy secara default sudah menyertakan AppArmor. Cara mengubah datadir itu sederhana, coba ikuti langkah2 berikut:
- 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:mysqldengan 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_xxxxxxxxxxxdanib_logfilexxtidak 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.cnfke/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.
Kalau di system anda ada AppArmor terinstall (mestinya sih ada, kalau belum di utak-atik), maka pada poin 7 akan menghasilkan error seperti berikut:
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,
Untuk penjelasan lebih lanjut silahkan meluncur ke halaman dokumentasi AppArmor di website Novell
Sekarang, coba start lagi mysql server daemon anda, seharusnya error tersebut sudah hilang.
10 Most Popular Search Terms
-
http://riyogarta.com/ Riyogarta
-
http://riyogarta.com Riyogarta
-
http://budiwijaya.or.id/ budiw
-
http://budiwijaya.or.id budiw
-
http://www.tokoalkes.com/ indra
-
http://bayu.freelancer.web.id/ ariefbayu
-
http://www.tokoalkes.com indra








