半同步复制模式

从mysql5.5开始,支持半同步模式复制(semisynchronous replication),比之前的异步模式复制增强了安全性。
半同步复制模式可以确保至少有一个备节点服务器在接受完主服务器发送的binlog日志文件并写入到中继日志后,返回给主节点一个ack信号,告诉主节点已经接收完日志,这时主节点线程才返回给当前session提交信息。
当主节点因为超时未接收到任一个备节点的ack信号时会切换会异步复制模式,从而防止堵塞应用。
当至少有一个备节点返回给主节点ack信号时,主节点切换回半同步复制模式。
主备节点必须全部配置成半同步复制模式,否则不支持该模式。
mysql 的半同步复制是通过安装插件来实现的,主备节点安装相应的插件,否则无法实现半同步复制。
已安装二进制包的默认插件目录在/usr/lib/mysql/plugin中。开启半同步复制模式如下:


1.在主节点中运行
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
2.在每个备节点中运行
mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
3.在主节点中运行
mysql> SET GLOBAL rpl_semi_sync_master_enabled = 1;
mysql> SET GLOBAL rpl_semi_sync_master_timeout = 10000;
4.在备节点中运行
mysql> SET GLOBAL rpl_semi_sync_slave_enabled = 1;
mysql> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;
5.在主节点中配置文件/etc/my.cnf添加
rpl_semi_sync_master_enabled=1
rpl_semi_sync_master_timeout =10000 (默认为10000毫秒,可不更改)
6.在备节点中配置文件/etc/my.cnf添加
rpl_semi_sync_slave_enabled=1

7.查看主节点状态确认半同步复制模式打开



Rpl_semi_sync_master_clients 大于0表示有备机以半同步模式连接到主节点。

备注(单位微秒):
Rpl_semi_sync_master_clients 
半同步连接的slave数目
Rpl_semi_sync_master_net_avg_wait_time
主节点等待备节点同步的平均时间
Rpl_semi_sync_master_net_wait_time
主节点等待备节点同步的总时间
Rpl_semi_sync_master_net_waits
主节点等待次数 
Rpl_semi_sync_master_no_times
主节点关闭半同步的次数  
Rpl_semi_sync_master_no_tx
主节点未收到ack返回信号的次数              
Rpl_semi_sync_master_status          
半同步主节点状态(当为主节点的时候为ON)
Rpl_semi_sync_master_timefunc_failures     
半同步由于调用时间函数错误的次数
Rpl_semi_sync_master_tx_avg_wait_time 
半同步主节点等待一个事务的平均等待时间   
Rpl_semi_sync_master_tx_wait_time       
主节点等待事务完成的总等待时间
Rpl_semi_sync_master_tx_waits           
主节点等待事务完成的总次数  
Rpl_semi_sync_master_wait_pos_backtraverse
等待备节点事务应用的顺序同主节点日志写入顺序不一致
Rpl_semi_sync_master_wait_sessions
主节点等待的回话次数        
Rpl_semi_sync_master_yes_tx             
成功完成半同步的事务总次数
Rpl_semi_sync_slave_status  
半同步备节点状态(当为备节点的时候为ON)


































  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值