zoukankan      html  css  js  c++  java
  • MySQL主从复制原理

    1. 事务开始后,MySQL将事务操作串行写入binary log中,使得事务中语句交叉执行;当事务操作全部写入binary log完成后,master通知存储引擎提交事务。

    2. Slave不断监听主机的二进制日志文件,有更新操作,则拷贝binary log到relay log;没有则睡眠等待。

      • Slave不断监听master的binary log文件,有改变创建工作线程:I/O线程,负责与master保持通讯。

      • 建立通讯后,master建立binlog dump process读取binary log并发给I/O线程,当relay log与binary log时,I/O睡眠等待新的事件。

      • I/O线程获取到数据库事件更新到从库的中继日志Realy log中去。

    3. Slave SQL线程从中继日志读取事件,更新slave的数据,保持与master数据一致

    4. 补充说明

    • slave监听到binary log有更新后,创建I/O线程,主动与master建立连接

    • 建立连接后,master创建binlog dump process,读取binary log发送给I/O线程

    • relay log一般存于OS的缓存中,开销很小

    网络图解

    个人图解

  • 相关阅读:
    [BZOJ3694]最短路
    [Usaco2011 Jan]道路和航线
    洛谷P1443马的遍历
    洛谷P1636学画画
    洛谷P1605走迷宫
    队列&广搜
    数论卷积公式and莫比乌斯反演
    数学之判断素数
    纯数学篇之欧拉定理证明
    筛素数
  • 原文地址:https://www.cnblogs.com/yblackd/p/14533424.html
Copyright © 2011-2022 走看看