Jawaban langsung untuk pertanyaan Anda adalah Ya, tetapi itu tergantung pada versi MySQL yang Anda jalankan. Sebelum MySQL 5.5, replikasi akan beroperasi sebagai berikut:
- Master Menjalankan SQL
- Master Mencatat Acara SQL dalam Log Binernya
- Budak Membaca Acara SQL dari Master Binary Logs
- Slave Menyimpan Acara SQL dalam Log Relai melalui Utas I / O
- Slave Membaca Event SQL Selanjutnya Dari Relay Log via SQL Thread
- Budak Mengeksekusi SQL
- Budak Mengakui Master tentang Eksekusi Lengkap Acara SQL
Pada MySQL 5.5, menggunakan Semisynchronous Replication , sekarang replikasi akan beroperasi sebagai berikut:
- Master Menjalankan SQL
- Master Mencatat Acara SQL dalam Log Binernya
- Budak Membaca Acara SQL dari Master Binary Logs
- Budak Mengakui Master tentang Penerimaan Acara SQL
- Slave Menyimpan Acara SQL dalam Log Relai melalui Utas I / O
- Slave Membaca Event SQL Selanjutnya Dari Relay Log via SQL Thread
- Budak Mengeksekusi SQL
- Budak Mengakui Master tentang Eksekusi Lengkap Acara SQL
Paradigma baru ini akan memungkinkan seorang Budak untuk lebih dekat disinkronkan dengan tuannya.
Meskipun demikian, latensi dalam jaringan dapat menghambat Replikasi Semisync MySQL ke titik di mana ia kembali ke replikasi asinkron gaya lama. Mengapa Jika batas waktu terjadi tanpa ada budak yang mengakui transaksi, master akan kembali ke replikasi asinkron. Ketika setidaknya satu budak semisinkron menangkap, master kembali ke replikasi semisinkron.
UPDATE 2011-08-08 14:22 EDT
Konfigurasi MySQL 5.5 Semisynchronous Replication sangat mudah
Langkah 1) Tambahkan empat (4) baris ini ke /etc/my.cnf
[mysqld]
plugin-dir=/usr/lib64/mysql/plugin
#rpl_semi_sync_master_enabled
#rpl_semi_sync_master_timeout=5000
#rpl_semi_sync_slave_enabled
Langkah 2) Mulai ulang MySQL
service mysql restart
Langkah 3) Jalankan perintah ini di klien MySQL
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
Langkah 4) Hapus komentar opsi tiga rpm_semi_sync setelah opsi plugin-dir
[mysqld]
plugin-dir=/usr/lib64/mysql/plugin
rpl_semi_sync_master_enabled
rpl_semi_sync_master_timeout=5000
rpl_semi_sync_slave_enabled
Langkah 5) Mulai ulang MySQL
service mysql restart
Semua selesai !!! Sekarang cukup setup Replikasi MySQL seperti biasa.