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

    主从复制涉及到的文件和线程

    主库:

    1)主库binlog:记录主库发生过的修改事件

    2)dump thread:给从库传送(TP)二进制日志线程

    从库:

    1)relay-log(中继日志):存储所有主库TP过来的binlog事件

    2)master.info:存储复制用户信息,上次请求到的主库binlog位置点

    3)IO thread:接收主库发来的binlog日志,也是从库请求主库的线程

    4)SQL thread:执行主库TP过来的日志

    1)通过change master to语句告诉从库主库的ip,port,user,password,file,pos

    2)从库通过start slave命令开启复制必要的IO线程和SQL线程

    3)从库通过IO线程拿着change master to用户密码相关信息,连接主库,验证合法性

    4)从库连接成功后,会根据binlog的pos问主库,有没有比这个更新的

    5)主库接收到从库请求后,比较一下binlog信息,如果有就将最新数据通过dump线程给从库IO线程

    6)从库通过IO线程接收到主库发来的binlog事件,存储到TCP/IP缓存中,并返回ACK更新master.info

    7)将TCP/IP缓存中的内容存到relay-log中

    8)SQL线程读取relay-log.info,读取到上次已经执行过的relay-log位置点,继续执行后续的relay-log日志,执行完成后,更新relay-log.info

  • 相关阅读:
    70.BOM
    69.捕获错误try catch
    68.键盘事件
    523. Continuous Subarray Sum
    901. Online Stock Span
    547. Friend Circles
    162. Find Peak Element
    1008. Construct Binary Search Tree from Preorder Traversal
    889. Construct Binary Tree from Preorder and Postorder Traversal
    106. Construct Binary Tree from Inorder and Postorder Traversal
  • 原文地址:https://www.cnblogs.com/--smile/p/11811684.html
Copyright © 2011-2022 走看看