Blog.YHT.Web.ID

Icon

Bosan adalah awal dari penciptaan perubahan.

MySQL BackUp

NB : Lama tidak menulis membuat saya kagok untuk memulai lagi.

Beberapa hari yang lalu saya diminta oleh atasan saya dalam sebuah proyek untuk membuat suatu prosedur backup atau membuat salinan data secara otomatis untuk menjaga agar tidak terjadi kehilangan data bila terjadi kerusakan pada sistem yang berjalan.

Sebelumnya, sang pemilik program, pembuat awal aplikasi yang dijadikan proyek, yang mungkin akan menjadi aplikasi nasional sambil menunggu selesainya sistem baru yang sedang dibangun oleh kantor pusat, melakukan backup dengan melakukan `cp -r db db_backup`. Memang desain basis data MySQL memungkinkan proses seperti itu untuk pemindahan data.

Namun apakah proses ini dianjurkan? Ternyata tidak. Karena ternyata hanya dengan mesin penyimpanan data MyISAM saja proses ini dapat berjalan. Sedangkan saya sebagai pemegang layanan pada server menginginkan penggunaan mesin penyimpanan yang lebih.

Pada aplikasi bawaan MySQL terdapat suatu program yang disebut mysqldump. Referensi bisa Anda ambil dari http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html. Saya masih menggunakan MySQL 5.0 karena dukungan dari pengembang sistem yang dipakai (ubuntu 8.04) masih menggunakan versi ini.

Dengan menggunakan aplikasi kecil ini, kita bisa membuat salinan dari basis data sesuai keinginan kita dengan format bahasa SQL. Sehingga kita hanya perlu menjalankannya sebagai script SQL bila terjadi hal yang merusak basis data dan memerlukan salinan data dimaksud. Saya hanya akan menjalankan fungsi aplikasi ini untuk kebutuhan standar.

Bila Anda ingin melakukan backup semua data dalam server mysql, Anda bisa menjalankan :

$ mysqldump -A -u root –password=password > backup.sql

Berikut penjelasannya : mysqldump akan melakukan backup semua database (-A) yang ada dalam MySQL Server dan login sebagai (-u) root dengan kata kunci (–password) ‘password’ serta menyimpannya dalam berkas ‘backup.sql’. Dengan meletakkannya sebagai cronjob yang akan berjalan tiap sore hari, maka Anda akan memiliki salinan data yang menentramkan Anda sebagai pemilik server.

Sebelum saya mengakhiri, saya memiliki beberapa saran, yaitu : backup dilakukan jangan pada jam sibuk untuk mengurangi beban, bila dirasa tidak perlu jangan menggunakan pilihan -A (–all-databases) dan menggantinya dengan pilihan -B, jangan menggunakan akun root dalam melakukan backup karena akan terbaca oleh siapapun yang bisa mengakses berkas cron, tempat tujuan backup/salinan jangan dalam 1 (satu) harddisk untuk menghindari kerusakan kalau perlu lain server dengan NAS/NFS misalnya.

Demiikian dari saya. Untuk keterangan lebih lanjut, silakan baca pada referensi rujukan (Manual MySQL).

Terima kasih.

Kategori: /mysql

Tag: , , ,

Leave a Reply