A resposta direta à sua pergunta é Sim, mas depende da versão do MySQL que você está executando. Antes do MySQL 5.5, a replicação operaria da seguinte maneira:
- Mestre executa SQL
- Evento SQL de registros mestre em seus logs binários
- Escravo lê evento SQL de logs binários principais
- Escravo armazena evento SQL em seus logs de retransmissão via thread de E / S
- Escravo lê o próximo evento SQL do log de retransmissão via thread SQL
- Escravo executa SQL
- Escravo reconhece mestre da execução completa do evento SQL
No MySQL 5.5, usando Replicação Semissíncrona , agora a replicação operaria da seguinte maneira:
- Mestre executa SQL
- Evento SQL de registros mestre em seus logs binários
- Escravo lê evento SQL de logs binários principais
- Escravo reconhece mestre do recebimento do evento SQL
- Escravo armazena evento SQL em seus logs de retransmissão via thread de E / S
- Escravo lê o próximo evento SQL do log de retransmissão via thread SQL
- Escravo executa SQL
- Escravo reconhece mestre da execução completa do evento SQL
Esse novo paradigma permitirá que um escravo seja mais sincronizado com seu mestre.
Não obstante, a latência dentro da rede pode dificultar a replicação semisync do MySQL até o ponto em que reverte para a replicação assíncrona no estilo antigo. Por quê ? Se ocorrer um tempo limite sem que nenhum escravo tenha reconhecido a transação, o mestre reverterá para replicação assíncrona. Quando pelo menos um escravo semi-síncrono alcança, o mestre retorna à replicação semissíncrona.
UPDATE 2011-08-08 14:22 EDT
A configuração da replicação semi-síncrona do MySQL 5.5 é direta
Etapa 1) Adicione essas quatro (4) linhas ao /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
Etapa 2) Reinicie o MySQL
service mysql restart
Etapa 3) Execute estes comandos no cliente MySQL
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
Etapa 4) Remova o comentário das três opções rpm_semi_sync após a opção 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
Etapa 5) Reinicie o MySQL
service mysql restart
Tudo feito !!! Agora basta configurar o MySQL Replication como de costume.