mysql的主从复制主要有3种模式:

a..主从同步复制:数据完整性好,但是性能消耗高

b.主从异步复制:性能消耗低,但是容易出现主从数据唯一性问题

c.主从半自动复制:介于上面两种之间。既能很好的保持完整性,又能提高性能

所以前面文章配置完主从之后,想改成半自动复制,下面是步骤:

1.主从的各个节点都要安装半自动复制插件,方法是登陆mysql执行一下脚本:

主库:

install plugin rpl_semi_sync_master soname 'semisync_master.so';

从库:

INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

执行完可以查看安装状态,没有启动,所以‘rpl_semi_sysnc_master_enabled’是‘OFF’

show global variables like 'rpl%';

2.在主从数据库的my.cnf里面加入下面:

在Master和Slave的my.cnf中编辑:

# On Master

[mysqld]

rpl_semi_sync_master_enabled=1

rpl_semi_sync_master_timeout=1000   #此单位是毫秒

#可以不写,这里只为演示,默认就是AFTER_SYNC

#rpl_semi_sync_master_wait_point=AFTER_SYNC

# On Slave

[mysqld]

rpl_semi_sync_slave_enabled=1

新版本的semi sync 增加了rpl_semi_sync_master_wait_point参数 来控制半同步模式下 主库在返回给会话事务成功之前提交事务的方式。

该参数有两个值:

  • AFTER_COMMIT(5.6默认值)

master将每个事务写入binlog ,传递到slave 刷新到磁盘(relay log),同时主库提交事务。master等待slave 反馈收到relay log,只有收到ACK后master才将commit OK结果反馈给客户端。

  • AFTER_SYNC(5.7默认值,但5.6中无此模式)

master 将每个事务写入binlog , 传递到slave 刷新到磁盘(relay log)。master等待slave 反馈接收到relay log的ack之后,再提交事务并且返回commit OK结果给客户端。 即使主库crash,所有在主库上已经提交的事务都能保证已经同步到slave的relay log中。

因此5.7引入了after_sync模式,带来的主要收益是解决after_commit导致的master crash主从间数据不一致问题,因此在引入after_sync模式后,所有提交的数据已经都被复制,故障切换时数据一致性将得到提升。

3.查看状态

showstatus like "%rpl_semi%";

注意看RPL_SEMI_SYNC_MASTER_CLIENTS 后面的value代表链接了介个从库

转自

http://blog.csdn.net/yuanfen99xia/article/details/51837044

转载于:https://www.cnblogs.com/paul8339/p/8023806.html

mysql5.7半自动同步设置【转】相关推荐

  1. 关于Mysql5.6半同步主从复制的开启方法【转】

    介绍 先了解一下mysql的主从复制是什么回事,我们都知道,mysql主从复制是基于binlog的复制方式,而mysql默认的主从复制方式,其实是异步复制. 主库实际上并不关心从库是否把数据拉完没有, ...

  2. vscode同步设置扩展插件

    首先安装同步插件 第二部进入你的github如图:  打开设置选项: 新建一个token: 如图:  记住这个token值 转到vscode 按shift+alt +u  在弹出窗里输入你的token ...

  3. mysql 去重 根据id_mycat数据库集群系列之mysql主从同步设置

    最近在梳理数据库集群的相关操作,现在花点时间整理一下关于mysql数据库集群的操作总结,恰好你又在看这一块,供一份参考.本次系列终结大概包括以下内容:多数据库安装.mycat部署安装.数据库之读写分离 ...

  4. 剑三服务器文件在哪里,剑三服务器同步设置在哪

    剑三服务器同步设置在哪 内容精选 换一换 kubernetes除了必要的支撑组件以外,其他的组件都是以插件的形式运行,如Kubernetes DNS,Kubernetes Dashboard等等.插件 ...

  5. Clion 远程同步设置

    1. Tools--deployment--configure--- connection 设置: Mapping 设置: 开启自动同步 设置crlf 转lf : file --- settiing- ...

  6. mysql如何设置多节点_详细介绍Mysql5.7从节点设置多线程主从复制的办法

    软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...

  7. vscode怎么全局搜索_VS Code 新版本发布!支持远程开发、同步设置等新特性

    公众号关注 "GitHubDaily"设为 "星标",每天带你逛 GitHub!转自开源中国Visual Studio Code 1.43 版本,即 2020 ...

  8. DNS基础:域名解析、多重域名解析、特殊域名解析、主从同步设置

    DNS基础:域名解析.多重域名解析.特殊域名解析.主从同步设置 作者:卖兔子的萝北 分类:学习笔记 虚拟机A ip:192.168.4.7 虚拟机B ip:192.168.4.207 一.域名解析 1 ...

  9. Atom同步设置、特效打字教程|基础插件

    Atom 是 Github 专门为程序员推出的一个跨平台文本编辑器. 具有简洁和直观的图形用户界面,并有很多有趣的特点:支持 CSS,HTML,JavaScript 等网页编程语言. 它支持宏,自动完 ...

最新文章

  1. 一些挺不错的visualstudio主题样式
  2. ansible安装部署和配置、常用模块整理
  3. markdown如何设置图片大小_Markdown编辑知乎文章的完全攻略
  4. openssl证书相关
  5. 【OpenCV新手教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放...
  6. AcWing 1843. 圆形牛棚(暴力+枚举)
  7. 苹果CMS V10 播放记录_苹果cms采集后无法播放怎么解决?
  8. 20天通过中级软件设计师攻略(附资料)
  9. 《乔布斯的魔力演讲》书摘
  10. Win10环境下VMware安装Mac OS虚拟机并在虚拟机中安装xcode
  11. 搭建服务器处理系统(基于netty),基于Netty的农业物联网服务器系统设计.PDF
  12. IE11浏览器清空缓存
  13. 彻底理解差模共模 输入信号
  14. WPS(word)批量给所有表格添加题注(标题)
  15. 17种Vue适用于移动端的ui框架
  16. 朱慕慕:ui设计包括什么内容,ui设计包括有几部分内容?
  17. 如何设置网页标题图标 FavIcon
  18. 测试用例的设计方法及案例
  19. Centos 7 x64 搭建文件服务器HFS
  20. 职称计算机xp系统试题,2015年职称计算机WindowsXP测试题及答案

热门文章

  1. 抽象类的实际应用--模版设计
  2. 华为EC169 3G卡在Win7下的安装
  3. 共享两个做项目最常用功能操作的封装类
  4. uni-app(从零开始)
  5. css --- 圣杯布局
  6. linux 安装RedisLive
  7. Linux 解决ssh连接慢的问题
  8. linux下ORACLE的Sqlplus命令
  9. awk一些很恐怖的特性
  10. 我想自学Linux,需要从哪些方面学起