Replikasi MySQL (1)


Replikasi antara server di MySQL didasarkan pada mekanisme logging biner. Contoh MySQL operasi sebagai master (sumber dari perubahan database) menulis pembaruan dan perubahan sebagai “event” ke log biner. Informasi dalam log biner disimpan dalam format logging yang berbeda sesuai dengan perubahan database yang dicatat. Slaves yang dikonfigurasi untuk membaca log biner dari master dan mengeksekusi event di log biner pada database lokal slave.

Master adalah “dumb” dalam skenario ini. Setelah logging biner telah diaktifkan, semua pernyataan ini dicatat dalam log biner. Setiap slave menerima salinan dari seluruh isi log biner. Ini adalah tanggung jawab slave untuk memutuskan statment yang mana dalam log biner harus dijalankan, anda tidak dapat mengkonfigurasi master untuk log hanya event-event tertentu. Jika anda tidak menentukan sebaliknya, semua event dalam log biner master dijalankan pada slave. Jika diperlukan, anda dapat mengkonfigurasi slave untuk memproses event hanya yang diterapkan pada database tertentu atau tabel.

Setiap slave menyimpan catatan koordinat log biner: Nama file dan posisi dalam file yang telah dibaca dan diolah dari master. Ini berarti bahwa beberapa slave dapat dihubungkan ke master dan melaksanakan bagian yang berbeda dari log biner yang sama. Karena slave mengontrol proses ini, slave individu dapat terhubung dan terputus dari server tanpa mempengaruhi operasi master. Juga, karena setiap slave mengingat posisi dalam log biner, adalah mungkin untuk slave akan terputus, dan kemudian menyambung kembali “catch up” dengan melanjutkan dari posisi tercatat.

Baik master dan slave masing-masing harus dikonfigurasi dengan ID yang unik (menggunakan opsi server-id). Selain itu, setiap slave harus dikonfigurasi dengan informasi tentang nama host master, nama log file, dan posisi dalam file itu. Rincian ini dapat dikontrol dari dalam sesi MySQL menggunakan statement CHANGE MASTER TO pada slave. Rincian disimpan dalam file master.info pada slave.

Cara Set Up Replika

Bagian ini menjelaskan cara mengatur replikasi lengkap dari sebuah server MySQL. Ada beberapa metode yang berbeda untuk menyiapkan replikasi, dan metode yang tepat untuk digunakan tergantung pada bagaimana anda menyiapkan replikasi, dan apakah anda sudah memiliki data dalam database master anda.

Ada beberapa pekerjaan umum yang biasanya terdapat di semua setup replikasi:

  • Pada master, anda harus mengaktifkan logging biner dan mengkonfigurasi ID server yang unik.
  • Pada setiap slave yang anda ingin menghubungkan ke master, anda harus mengkonfigurasi ID server yang unik. Ini mungkin memerlukan server restart.
  • Anda mungkin ingin membuat user terpisah yang akan digunakan oleh slave anda untuk otentikasi dengan master untuk membaca log biner untuk replikasi. Langkah ini opsional.
  • Sebelum membuat gambaran(snapshot) data atau memulai proses replikasi, anda harus mencatat posisi log biner master. Anda akan memerlukan informasi ini ketika mengkonfigurasi slave sehingga slave tahu di mana dalam log biner untuk memulai melaksanakan event.
  • Jika anda sudah memiliki data pada master anda dan anda ingin menggunakannya untuk menyinkronkan slave anda, anda akan perlu untuk membuat snapshot data. Anda dapat membuat snapshot menggunakan mysqldump atau dengan menyalin file data secara langsung
  • Anda akan perlu untuk mengkonfigurasi slave dengan pengaturan untuk menghubungkan ke master, seperti nama host, rahasia login, dan nama file dan posisi log biner.

Setelah anda mengkonfigurasi opsi dasar, anda akan perlu untuk mengikuti petunjuk untuk setup replikasi anda. Sejumlah alternatif yang disediakan:

  • Jika anda membangun master MySQL baru dan satu atau lebih slave, anda hanya perlu mengatur konfigurasi, seperti anda tidak memiliki data untuk pertukaran.
  • Jika anda sudah menjalankan server MySQL, dan karenanya sudah memiliki data yang harus ditransfer ke slave anda sebelum replikasi dimulai, belum pernah mengkonfigurasi log biner dan mampu menutup server MySQL anda untuk waktu yang singkat selama proses.
  • Jika anda menambahkan slave ke lingkungan replikasi yang ada, anda dapat mengatur slave tanpa mempengaruhi master.
Iklan
  1. No trackbacks yet.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: