一、基础

1.目前MySQL主要有三种复制方式

1)异步复制

2)半同步复制

3)增强半同步复制

推荐使用:对性能要求较高的推荐使用异步复制 ,如果运行的金融类业务推荐使用增强半同步复制,并使用ROW+GTID+5.7以上

1.1)异步复制

MySQL复制的默认方式

2.1)半同步复制的优缺点

rpl_semi_sync_master_wait_point=after_commit

缺点1: 幻读

当用户发起一个事务,该事务已经写入redo日志和binlog日志,但该事务还没写入从库,此时处在waiting slave dump处,此时另一个用户可以读取到这条数据,而他自己却不能;

缺点2:数据丢失

一个事务在waiting slave dump处crash后,主库将比从库多一条数据

疑问:此时如果主从复制恢复后,该数据时候可以正常同步到从服务器?(未测试!!)

3.1)增强半同步复制

rpl_semi_rsync_master_wait_point=after_sync

改善1:解决幻读

当用户发起一个事务,该事务写入二进制后,便向从库进行同步,此时其他用户无法读取到该数据,解决了幻读

改善2:解决数据丢失

一个事务在waiting slave dump处crash掉后,可以通过观察从库上是否存在主库的last gtid值,如果存在,这条数据正常恢复,如果不存在则删除主库的那条多余的GTID值,然后恢复,保证了数据的完整性;

二、部署

异步复制环境:一主一从

主IP:192.168.20.206

从IP:192.168.20.212

需要3个步骤:

1.给主库加载半同步复制插件,并件修改主库的my.cnf参数,;

2.给从库加载半同步复制插,并件修改从库的my.cnf参数,;

3.在从库中执行使用stop salve io_thread 、start slave io_thread命令搞定

1.1)主库加载半同步复制插件

install plugin rpl_semi_sync_master soname 'semisync_master.so';

1.2)主库开启半同步复制模式

set global rpl_semi_sync_master_enabled=1;

set global rpl_semi_sync_master_timeout=1000;

2.3)主库修改my.cnf文件

vim /etc/my.cnf

[mysqld]

###:for replcation

rpl_semi_sync_master_enabled=1

rpl_semi_sync_master_timeout=1000

2.1)从库加载半同步复制插件

install plugin rpl_semi_sync_SLAVE soname 'semisync_slave.so';

2.2)从库开启半同步复制模式

set global rpl_semi_sync_slave_enabled=1;

2.3)从库修改my.cnf文件

vim /etc/my.cnf

[mysqld]

###:for replcation

rpl_semi_sync_slave_enabled=1

3.3)在从库中执行使用stop salve io_thread 、start slave io_thread;

stop slave io_thread;

start slave io_thread;

半同步复制监控命令:

show plugins;

show global status like '%semi%';

show global variables like '%semi%';

mysql半备份_MySQL半同步复制与增强半同步复制详解及安装相关推荐

  1. Mysql增强半同步模式_MySQL半同步复制与增强半同步复制详解及安装

    一.基础 1.目前MySQL主要有三种复制方式 1)异步复制 2)半同步复制 3)增强半同步复制 推荐使用:对性能要求较高的推荐使用异步复制 ,如果运行的金融类业务推荐使用增强半同步复制,并使用ROW ...

  2. linux复制文件scp命令,Linux 中的文件复制cp命令和scp命令详解

    Linux 中的文件复制cp命令和scp命令详解 在使用操作系统的使用过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是s ...

  3. mysql 实时备份_MySQL实现实时备份[转]

    本文转自:http://www.cnblogs.com/vforbox/p/4860422.html 环境介绍 1.两台服务器进行主从同步复制(安装可以通过google查询相关资料或者看笔者的这篇免安 ...

  4. mysql 高效备份_Mysql高性能备份方案解决数据不间断访问(LVM快照方式备份)

    Mysql高性能备份方案解决数据不间断访问(LVM快照方式备份) mysql LVM快照备份特点: 1.在大多数情况下,这种方式几乎算得上是热备.它无需关闭服务,只需要设置只读或者类似这样的限制. 2 ...

  5. mysql 定期备份_MySQL定时备份(全量备份+增量备份)

    MySQL 定时备份 更多binlog的学习参考马丁传奇的 MySQL的binlog日志,这篇文章写得认真详细,如果看的认真的话,肯定能学的很好的. 如果查看binlog是出现语句加密的情况,参考 m ...

  6. mysql 双机备份_mysql双机热备详解及延伸备份

    开门见山,首先,主服务器的mysql版本不能高于从服务器的版本 ,可以是一样的,其次端口号必须统一. 好了,现在开始配置双机热备(随后将会提到循环备份以及互备)我使用的版本为redhat5.4两台ip ...

  7. mysql异地备份_MySQL数据库异地备份与还原方法

    一.传统的MySQL数据库备份和恢复数据方法: 生成duSQL脚本 在控制zhi台使用mysqldump命令可以用来生成指定数据库的dao脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创 ...

  8. C 实现Mysql增量备份_mysql增量备份 - lyle_luo的个人页面 - OSCHINA - 中文开源技术交流社区...

    #!/bin/sh ############################### # 此脚本用来增量备份 # 此文件名:mysqldailybackup.sh # # Author: zhangro ...

  9. mysql ssd 性能测试 写入_MySQL服务器的SSD性能问题分析和测试详解

    [问题] 我们有台HP的服务器,SSD在写IOPS约5000时,%util达到80%以上,那么这块SSD的性能究竟有没有问题,为解决这个问题做了下面测试. [工具] blktrace是linux下用来 ...

最新文章

  1. Mysql取得分组的前n名
  2. Linux操作Oracle(13)——java执行sql查询语句 报错 “无法绑定由多个部分组成的标识符“ 解决方案
  3. 显示1至20相同数字相乘的结果,若值比50小就不显示
  4. 响应式布局与自适应式布局有什么不同
  5. 银行的起源---》阮一峰,
  6. python安装grpcio的心路历程
  7. 2015年中国互联网大检阅
  8. 手机图标ui设计尺寸:ui设计app图标尺寸规范
  9. 怎么把多个音频合并成一个音频?
  10. 查看个人小程序的累计独立访客(UV)
  11. IntelliJ IDEA 超实用使用技巧分享
  12. 圣诞节马上到了。H5+CSS3+JS制作圣诞帽头像源码送给你们。。。
  13. python中交集并集用什么符号表示_Python实现两个list求交集,并集,差集的方法示例...
  14. 编译android源码刷机到Nexus5x
  15. AndroidWear官方文档总结05 - 手持设备与穿戴设备的通知同步
  16. gz, bz2, bz, Z, tgz, zip, rar, lha, rpm等格式的解压……
  17. RabbitMq(1)之安装
  18. c++程序员 常用工具集
  19. 如何为vs2017安装svn
  20. 首次报考一级消防工程师证好考吗? 有什么技巧吗?

热门文章

  1. Java socket 重要参数
  2. Beyond Compare比较Word文件的方法
  3. 编写wordcount程序
  4. “cannot resolve symbol R” in Android Studio
  5. Windows下一个curl使用
  6. 怎么同步github上的原项目和fork
  7. java web 程序---购物车项目内容:
  8. Silverlight 4正式版发布
  9. MyEclipse8.5/8.6不能安装ADT
  10. kerberos 身份认证 简介