MySQL复制篇之---半同步复制

原作者:http://www.verydemo.com/demo_c152_i4939.html

先来了解下同步复制和异步复制的概念:

同步复制:
    客户端提交事务,首先会在主服务器数据区域中存储下来,而后事件再写入到二进制日志中,同时,主服务器上的二进制日志文件要写入到从服务器中的中继日志中去,并且由从服务器上的sql thread在本地执行一遍,保存到自己的数据区域,然后通知主服务器同步完成,主服务器再响应给客户端 ,这种机制耗费时间较长,会造成服务器性能降低;
异步复制:
    客户端提交一个新事务,它只要记录到二进制日志文件中就会立即响应给客户端,至于从服务器是否将数据同步过去了,它不做关心,而是由从服务器自身通过各种机制将数据同步;
 
而在mysql主从复制模型下,主从服务器是异步复制的,也就是说,主服务器在发送给从服务器新的事务后,是不会关心从服务器是否同步的进度的,假如说,用户请求的事务过多,从服务器复制滞后于主服务器,而这个时候恰好主服务器crash(宕机)了,就会导致从服务器所复制的数据不完整,那么这个时候,我们就无法通过从服务器来恢复数据了!!
 
 
 
 
 
半同步复制配置:
环境:
 
主服务器:IP : 172.16.9.1    
从服务器:IP :172.16.9.2
mysql版本:mysql-5.5.28
 
 
 
 
 
启动服务
 
 
 
进入数据库
 
 
 
 
 
  1. #
 
开启服务
 
 
 
进入数据库,设定其主服务器
 
  1. mysql
  2. mysql
  3. mysql
以上在mysql中的变量操作只是临时生效,如果想让其永久生效,可以将其写入到主配置文件中;
 
 
 
 
 
 
 
 
 
在主从服务器上各自重启mysqld服务,即可生效
 
查看半同步机制是否生效:
Master
以上变量中clients选项中值为1,说明半同步构建成功!!
 
Slave
从服务器端状态也为ON,主从半同步复制构建成功!!
 
如果你在主服务器中操作了一些需要同步的语句,一些和同步等待时间的变量值就会改变的。。
如图:
 
至此,半同步主从复制完成!!
 
 

本文出自 “每一步都是新的起点!^_^” 博客,请务必保留此出处http://90112526.blog.51cto.com/6013499/1079766

猜你喜欢

转载自zh49237524330777.iteye.com/blog/2073648