MySQL5.7之前的版本半同步复制rpl_semi_sync_master_wait_point默认值为after_commit

MySQL5.7

半同步复制

rpl_semi_sync_master_wait_point默认值为after_sync

看一下官方文档怎么说

AFTER_SYNC

(the default): The master writes each transaction to its binary log and the slave, and syncs the binary log to disk. The master waits for slave acknowledgment of transaction receipt after the sync. Upon receiving acknowledgment, the master commits the transaction to the storage engine and returns a result to the client, which then can proceed.

AFTER_COMMIT

: The master writes each transaction to its binary log and the slave, syncs the binary log, and commits the transaction to the storage engine. The master waits for slave acknowledgment of transaction receipt after the commit. Upon receiving acknowledgment, the master returns a result to the client, which then can proceed.

For older versions of MySQL, semisynchronous master behavior is equivalent to a setting of AFTER_COMMIT.

The replication characteristics of these settings differ as follows:

With

AFTER_SYNC, all clients see the committed transaction at the same time: After it has been acknowledged by the slave and committed to the storage engine on the master. Thus, all clients see the same data on the master.

In the event of master failure, all transactions committed on the master have been replicated to the slave (saved to its relay log). A crash of the master and failover to the slave is lossless because the slave is up to date.

With

AFTER_COMMIT, the client issuing the transaction gets a return status only after the server commits to the storage engine and receives slave acknowledgment. After the commit and before slave acknowledgment, other clients can see the committed transaction before the committing client.

AFTER_SYNC

(默认值):主服务器将每个事务写入其二进制日志和从服务器,并将二进制日志同步到磁盘。

在同步之后,主服务器等待从服务器确认接收的事务。

在接收到确认之后,主服务器将事务提交给存储引擎,并将结果返回给客户机,然后客户机就可以继续执行。

AFTER_COMMIT

:主服务器将每个事务写入其二进制日志,从服务器同步二进制日志,并将事务提交到存储引擎。

在提交之后,主服务器等待从服务器对事务接收的确认。

在接收到确认之后,主程序将结果返回给客户端,然后客户端可以继续进行操作。

对于旧版本的MySQL,半同步主行为相当于设置AFTER_COMMIT。

这些设置的复制特征不同如下:

使用

AFTER_SYNC,所有客户端同时看到提交的事务:在从服务器确认并提交到主服务器上的存储引擎之后。

因此,所有客户端在主服务器上看到相同的数据。

在主服务器失败的情况下,在主服务器上提交的所有事务都被复制到从服务器(保存到它的中继日志中)。

主服务器的崩溃和到从服务器的故障转移是无损的,因为从服务器是最新的。

使用

AFTER_COMMIT,发出事务的客户端只有在服务器提交到存储引擎并收到从服务器的确认之后才会获得返回状态。

在提交之后和从确认之前,其他客户端可以在提交客户端之前看到提交的事务。

mysql中rpl_MySQL半同步复制之rpl_semi_sync_master_wait_point相关推荐

  1. mysql主主复制半同步_mysql主从复制中的半同步复制

    实验mysql借助google提供的插件,完成半同步复制模型: 物理机依然是win7系统,虚拟机为centos7: 主节点:192.168.255.2 从节点:192.168.255.3 先配置为主从 ...

  2. MySQL 5.5 到MySQL 5.6半同步复制(SSL)

    数据放在一个raid 1上: [root@slave1 ~]# yum -y install mdadm [root@slave1 ~]# mdadm -C /dev/md0 -l1 -n2 /dev ...

  3. mysql 5.5半同步复制_(5.5)mysql高可用系列——MySQL半同步复制(实践)

    关键词,mysql半同步复制 [0]实验环境 操作系统:CentOS linux 7.5 数据库版本:5.7.24 数据库架构:主从复制,主库用于生产,从库用于数据容灾和主库备机,采用默认传统的异步复 ...

  4. mysql确认半同步命令_怎么判断mysql是否是半同步复制

    AFTER_COMMIT(5.6默认值) master将每个事务写入binlog ,传递到slave 刷新到磁盘(relay log),同时主库提交事务.master等待slave 反馈收到relay ...

  5. mysql semi-sync(半同步复制)

    半同步复制: 5.5集成到MySQL,以插件的形式存在,需要单独安装 确保事务提交后bnog至少传输到一个从库 不保证从库应用完这个事务的binlog 性能有一定的降低,响应时间会更长 网络异常或从库 ...

  6. mysql 5.5半同步复制_MySQL5.5配置安装半同步复制

    确认master和slave上是否开启have_dynamic_loading master MASTER@root@(none) 10:54:58>show variables like 'h ...

  7. MySQL 半同步复制+MMM架构

    介绍 上篇文章介绍了MMM架构的实现方法,但是上篇文章的MMM方案的复制是异步复制,异步复制的主要问题在于当主从存在延时时如果主机出现了故障导致了主从切换时这时将会存在数据丢失:mysql为了解决异步 ...

  8. Mysql5.7的gtid主从半同步复制和组复制

    (一)gtid主从半同步复制 一.半同步复制原理 mysql默认的复制是异步的,主库在执行完客户端提交的事务后会立即将结果返回给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主库如果cr ...

  9. 基于CentOS7,MySQL5.7的同步/半同步复制实现

    基于CentOS7,MySQL5.7的读写分离架构搭建实战2 实战1遗留问题: mysql主从复制存在的问题和解决方法(异步复制方式) mysql主从复制存在的问题: 主库宕机后,数据可能丢失 从库只 ...

  10. mysql复制多行_mysql中的复制方式总结(半同步复制,并行复制,多源复制)

    一.MySQL主从复制(异步复制,默认) Mysql主从复制原理 Mysql的复制原理大致如下: 1.主库记录binlog日志 在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志b ...

最新文章

  1. YOLOv4来了,大型调优现场,速度和准确率俱佳
  2. vlc生成rtsp流
  3. H3C TFTP操作示例
  4. kafka版本 不对问题
  5. 决战9小时,产品上线的危机时刻
  6. 分区表需要数据备份吗oracle,Oracle 分区表数据的导入与导出(1)
  7. t4b代码生成_用T4模板实现简单的代码生成器
  8. matlab 十字路口左转
  9. 【ExtJS实践】之五 :常用语句及脚本备忘
  10. truncate,delete,drop的异同点
  11. 初赛中的CCF广告题
  12. html点击文本框唤醒手机键盘,html移动应用 input 标签 清除按钮功能如何实现(不触发键盘)...
  13. 多面集的表示定理的必要性的证明
  14. mbedtls | 08 - ECDH秘钥协商算法的配置与使用
  15. 基于javaee的社区医院远程挂号系统
  16. The error may exist in /com/bjpowernode/dao/StudentDao.xml ### Cause: org.apache.ibatis.builder.Buil
  17. 你在用哪种编程字体?
  18. Resharper使用详解(转)
  19. DIVA系列前期环境
  20. 大学毕业5年后拉开大家差距的原因

热门文章

  1. 【微信机器人】实现保存微信表情包到相册
  2. 关于macbookpro外接显示器(非扩展屏幕,只有一个外接显示器当屏幕)手贱把分辨率设置成1080i(显示器所不支持的分辨率)所造成显示器黑屏并弹出“不支持此视频格式”的解决方法
  3. Fantastic用法
  4. CG CTF RE Py交易
  5. 阿里云mysql空间不足_阿里云数据库MySQL系统文件导致实例空间满的解决办法
  6. 指定decode_responses=True,连接redis存的数据是字符串格式
  7. AI仿生:人类进化新可能
  8. PandoraBox Openwrt 上面设置DNS
  9. 基于单片机的水壶自动加热系统_一种基于单片机的电热水壶控制系统的制作方法...
  10. 《剑指offer》读后感