Senin, 15 Desember 2014

Memindahkan Lokasi Database MySQL di Linux Ubuntu

Database server MySQL memang dikenal canggih ... dan gratis (ini yang penting), meskipun ada versi berbayarnya.. yang versi gratis juga tidak kalah hebat dibanding database "tetangga sebelah" yang berbayar. Jadi.. tidak usah heran kalau jumlah pemakainya di dunia berjuta-juta (hitung sendiri ya :p  ).

Mungkin karena alasan keamanan data atau kapasitas/kinerja media penyimpan data atau alasan lainnya ... administrator database melakukan sedikit trik dengan memindahkan lokasi database MySQL dari lokasi standar instalasi ke lokasi baru. Sesulit apakah cara memindahkan lokasi database ini?

Nah .. kalau kita menjalankan MySQL di lingkungan Windows, untuk memindahkan lokasi database gampang banget, cukup matikan service MySQL, kemudian edit file my.ini, kemudian ubah parameter datadir=[drive:/path lokasi data] kemudian nyalakan lagi service MySQL ... selesai.
Lalu .. bagaimana caranya jika kita ingin melakukan hal yang sama tetapi di lingkungan Linux? Nah .. ini tantangan baru .. yang jelas tidak semudah di Windows. Kesimpulannya Linux rumit ya?? Ah .. nggak juga .. hanya kita yang harus belajar ilmu baru dan memahami bagaimana cara kerja sistem operasi ini. Yang pasti .. di dunia komputer/informasi dikenal istilah "kemudahan mengakses informasi berbanding terbalik dengan tingkat keamanan", jadi .. kalau mau aman yang memang pake rumit sedikit  :D.

Oke .. begini cara memindah lokasi database MySQL (5.0 ke atas) di Linux Ubuntu 14.04 LTS (Linux lain sepertinya tidak jauh berbeda) :

1. Matikan Service MySQL
$ sudo service mysql stop
2. Buat direktori database MySQL yang baru
Misalnya direktori baru tersebut berada di hdd ke-2 (sdb) yang sudah di-mount sebagai /media/db
$ mkdir /db/mydb
3. Copy database lama ke lokasi database baru
$ sudo cp -R /var/lib/mysql/mysql /db/mydb
4. Backup file my.cnf, ubah lokasi database di my.cnf
$ sudo cp /etc/mysql/my.cnf /root/my.cnf.backup $ sudo nano /etc/mysql/my.cnf
pada segmen datadir=/var/lib/mysql ubah menjadi lokasi baru
datadir=/db/mydb
6. Ubah hak akses di direktori database baru
$ sudo chown -R mysql:mysql /db/mydb
7. Ubah file /etc/apparmor.d/usr.sbin/mysqld
$ sudo nano /etc/apparmor.d/usr.sbin/mysqld
cari bagian /var/lib/mysql/ r, dan /var/lib/mysql/** rwk, dan ubah menjadi
/db/mydb/ r, /db/mydb/** rwk,
8. Nyalakan kembali Service MySQL
Setelah semua perubahan disimpan, segera nyalakan service MySQL
$ sudo service mysql start
Sekarang.. silahkan coba transaksi data, jika sudah tidak ada masalah maka direktori /var/lib/mysql (database lama) bisa diubah menjadi /var/lib/mysql_old. Demikian cara mudah memindah lokasi database MySQL di Linux ubuntu, semoga bermanfaat untuk kita semua.

Referensi :
http://askubuntu.com/questions/137424/moving-mysql-datadir

Selasa, 04 Maret 2014

Mengembalikan GRUB bootloader yang hilang

Beberapa waktu yang lalu saya melakukan instalasi ulang sistem operasi di komputer saya, kebetulan saya buat dual boot menggunakan LinuxMint 16 dan Windows 7. Waktu itu menggunakan Windows 7 64 bit, karena ada masalah dengan salah 1 aplikasi bahasa pemrograman akhirnya saya putuskan install ulang down grade Windows 7 menjadi 32 bit.

Proses instalasi berjalan lancar s.d install aplikasi-aplikasi kebutuhan saya. Setelah beberapa kali reboot .. baru saya sadar .. loh.. kok Grub bootloader-nya hilang karena tertimpa bootloader windows.. bagaimana caranya kalau saya mau login ke LinuxMint ? Kalau harus install ulang LinuxMint namanya nggak lucu donk ... Setelah cari referensi resmi ke perpustakaan ternyata tidak ada solusi .. ( jadi ingat acara ILK [Indonesia Lawak Club] di Trans7 dengan slogannya .. Menyelesaikan Masalah Tanpa Solusi  :D )  Akhirnya .. seperti biasa ... tanya ke mbah Gugel ... dan jawabannya adalah sebagai berikut :

1. Nyalakan komputer dengan menggunakan live cd/dvd/usb linux sesuai dengan linux yang digunakan, dalam hal ini saya memakai LinuxMint 16. Caranya booting menggunakan cd/dvd/usb silahkan cari sendiri referensinya  :D

2. Pastikan lokasi partisi pemasangan linux di hdd Anda. Jika bingung gunakan tools semacam GParted (Disk Manager) untuk melihat lokasi partisi linux. Jika menggunakan konsol gunakan perintah df -h , biasanya linux menggunakan partisi tipe EXT3 atau EXT4. Misalnya posisi linux di /dev/hda1 lakukan mount terhadap partisi tersebut agar bisa diakses dengan perintah seperti ini :
$ sudo mount /dev/sda1 /mnt

Keterangan :
   hdXY =>  X = kode urutan hdd   Y = nomor urut partisi pada hdd tersebut
3. Kemudian lanjutkan dengan membuat pembacaan file system linux dengan perintah berikut (diketik dalam 1 baris/menyambung) :
$ sudo mount --bind /dev /mnt/dev && sudo mount --bind /dev/pts /mnt/dev/pts && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
4. Pindahkan posisi root file system
$ sudo chroot /mnt
5. Lakukan install ulang Grub dengan perintah :
$ grub-install /dev/sda
6. Lakukan pengecekan hasil installasi dengan perintah :
$ grub-install --recheck /dev/sda
7. Lanjutkan dengan update Grub agar sistem operasi yang lain yang telah diintal secara otomatis dimasukkan ke dalam menu Grub
$ update-grub
8. Langkah terakhir adalah keluar dari root system, unmount file system linux & reboot sistem (perintah ditulis dalam 1 baris/menyambung) :
$ exit && sudo umount /mnt/dev && sudo umount /mnt/dev/pts && sudo umount /mnt/proc && sudo umount /mnt/sys && sudo umount /mnt && sudo reboot 

Nah .. beres semuanya ... saatnya berkarya lagi dengan mesin canggih kesayangan kita :D

** sumber ilmu : klik di sini