MySQL adalah salah satu database paling populer di dunia. Mengambil backup dan restore database selalu menjadi topik hangat di Mysql. Dalam tutorial ini saya yang selanjutnya saya akan menjelaskan secara rinci setiap metode yang ada. Sebelum melangkah lebih jauh, saya mengasumsikan bahwa Anda memiliki administrasi dasar server dan pengetahuan pengembangan query MySQL.

Incremental Backup Menggunakan Binary Log

Mysql binary log adalah sejenis log yang berisi semua informasi perubahan data dalam database. Log biner berisi semua kueri yang mempengaruhi tabel Anda. Jadi jika Anda akan memutar log biner pada durasi tertentu dan mengambil cadangannya maka akan ada backup incremental database Anda untuk durasi itu. Misalnya: Anda sudah memulai binary logging hari ini. Sekarang Anda berputar

Log biner Anda setiap 4 jam. Jadi setelah setiap 4 jam Anda akan memiliki file log biner lainnya. Dan setiap file log akan memiliki perubahan database selama 4 jam. Jadi Anda membuat incremental backup setiap 4 jam. Anda bisa mengekstrak sql quey dari log biner menggunakan perintah mysqlbinlog.

Mysql Incremental Backup dengan menambahkan Script di Aplikasi Anda

Ini bukan praktik yang baik untuk mengambil incremental backup, namun Anda bisa menggunakan metode ini untuk backup database tambahan. JIKA database Anda tidak terganggu oleh sumber lain kecuali aplikasi Anda jadi ini adalah ide bagus. Jika tidak, ini bukan ide bagus, tapi jika Anda melakukan ini, akan banyak membantu jika db akan jatuh. Sebelum membahas detail penggunaan Mysql Incremental backup dengan menggunakan metode ini, saya mengasumsikan bahwa Anda memiliki pengetahuan yang bagus tentang arsitektur aplikasi Anda.

Untuk menerapkan metode ini untuk mengambil incremental backup database Anda aplikasi Anda harus berorientasi objek. Kelas database Anda harus terpisah. Kelas database berarti Anda memiliki kelas dan metode untuk menangani koneksi database dan query. Seperti untuk semua query insert Anda hanya menyediakan nama tabel dan array atau objek data ke salah satu metode kelas database Anda. Sekarang kelas database membuat query SQL dan mengeksekusi di server. Jika aplikasi Anda memiliki struktur serupa, Anda bisa mencari Incremental Backup dari database Anda dengan menggunakan teknik ini. Jika aplikasi Anda menghasilkan query di setiap tempat maka tidak mungkin (atau butuh waktu lama) untuk menerapkan metode ini. Berikut adalah langkah-langkah untuk menetapkan incremental backup menggunakan script Anda.

  • Pastikan semua aktivitas terkait database dilakukan dengan menggunakan satu kelas aplikasi Anda.
  • Sekarang dalam semua metode kelas yang terlibat dalam perubahan database (seperti menghapus, memasukkan, memperbarui, eksekusi prosedur tersimpan) tepat setelah mendapatkan query Anda berhasil mengeksekusi log yang query di file terpisah.
  • Sekarang putar file di mana semua query update sedang login.
Incremental Backup Menggunakan Replikasi.

Dengan menggunakan replikasi mysql Anda dapat membuat backup database Anda secara inkremental. Ini adalah metode terbaik untuk mengambil cadangan Anda. Tapi metode ini sedikit mahal karena dalam metode ini Anda memerlukan server mysql yang lain. Dalam metode database server utama Anda akan menjadi master database server. Dan paling tidak anda memerlukan satu database server lain yang akan menjadi slave server DB. Slave akan terhubung ke master database dan akan mengambil semua perubahan yang dilakukan. Metode ini bermanfaat karena Anda bisa menggunakan budak Anda untuk semua pernyataan pilih. Jadi bebanmu pada master akan dibagikan. Tapi Anda harus selalu setup server produksi model replikasi setelah mendapatkan pengetahuan lengkap tentang setup master slave. Untuk mengetahui bagaimana mensetup replikasi mysql anda bisa me referrer website MySQL Cara Setup Replikasi.

Database restore dari Mysql Incremental Backup Anda

Setelah mengkonfigurasi cadangan Anda, Anda harus memikirkan pemulihan DB Anda dari cadangan. Jika database Anda tidak dapat dipulihkan dari incremental backup maka tidak ada gunanya. Jadi sebelum memilih metode apapun untuk backup incremental database server mysql Anda, cukup pikirkan “apakah metode restorasi yang sesuai jika terjadi bencana untuk saya?”. Jika jawabannya ya, maka pilih saja metode anda. Selanjutnya di bagian ini kita akan membahas bagaimana mengembalikan database anda dari replikasi.

Seperti yang telah saya jelaskan di awal tutorial ini bahwa incremental backup adalah backup dari database anda berubah sejak backup sebelumnya. Jadi full backup anda selalu penting. Jadi pada interval waktu yang reguler bawalah server mysql anda mengisi backup. Dan sebelum pergi untuk log tambahan untuk durasi tertentu, pertama-tama pulihkan database Anda dengan full backup dan jalankan query SQL Anda yang berada di incremental backup. Ini adalah metode tercepat untuk memulihkan database Anda dari backup incremental mysql.