码迷,mamicode.com
首页 > 其他好文 > 详细

主从原理

时间:2017-09-07 12:08:37      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:解决   sla   影响   read   进制   之间   bin   orm   process   

1、主从复制原理

主从复制主要用途
  1. 灾备,主down机实现主从切换
  2. 从库数据备份和数据分析不影响主库性能
  3. 主从读写分离,提升tps和qps

主从复制工作原理
技术分享
 
  • 第一部分master记录二进制日志,binlog在事务提交时写入日志。
  • 第二部分slave将master的binary log拷贝到它自己的中继日志
    1. slave开始一个工作线程——I/O线程 连接主库
    2. I/O线程在master上打开一个普通的连接,然后开始binlog dump process。
    3. Binlog dump process从master的二进制日志中读取事件,如果已经跟上master,它会睡眠并等待master产生新的事件。I/O线程将这些事件写入中继日志。
    4. SQL线程从中继日志读取事件,并重做其中的事件而更新slave的数据,使其与master中的数据一致。只要该线程与I/O线程保持一致,中继日志通常会位于OS的缓存中,所以中继日志的开销很小。
    注意:
  1.  主库的dump 线程是因为从库的io 连接才起来的。
  2. 要分离看io thread和sql thread,可以关闭sql thread,io thread正常运行技术分享
主从复制主库宕机,我们需要面临的问题
  1. 到底提升谁作为主库
  2. 如何处理提升后的新主和旧主之间的日志延迟问题
    1. 补上这个日志。
    2. 旧主不可达,日志丢失,造成数据丢失【半同步复制解决这个问题】
  3. 新从指向新主,不同的从change master 到不同位置
  4. 新的从如何知道从新的主哪个位置开始索取日志

主从原理

标签:解决   sla   影响   read   进制   之间   bin   orm   process   

原文地址:http://www.cnblogs.com/jesper/p/7488748.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!