你的位置:首页 > 数据库

[数据库]maraidb半同步复制


半同步复制是在主从同步复制的基础之上,主从同步前面我的博文有介绍

Semisynchronous Replication(半同步复制)则一定程度上保证提交的事务已经传给了至少一个备库

MySQL在加载并开启Semi-sync插件后,每一个提交的事务需等待至少一个备库接收日志后才返回给客户端。如果做的是小事务,两

台主机的网络延迟又较小,则Semi-sync可以实现在性能很小损失的情况下的零数据丢失(为了减少网络延迟建议此两台服务器放在同

一个机架上)

主服务器上执行以下命令:

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';

SET GLOBAL rpl_semi_sync_master_enabled=1;

SET GLOBAL rpl_semi_sync_master_timeout=5000;    (如果5秒钟同步未成功自动降级为默认的异步)

 

 rpl_semi_sync_master_enabled       | ON     开启了半同步

 

Rpl_semi_sync_master_clients               | 1     证明主从半同步复制连接成功

 

从服务器上执行以下命令:

MariaDB [(none)]> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

SET GLOBAL rpl_semi_sync_slave_enabled=1;

 

如果要使mariadb重启后也有效,需把上面的参数写入配置文件中