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