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

  • 相关阅读:
    PHP运行及语句及逻辑
    数据库基础,表及SQL语句
    php后台修改人员表信息
    php后台增加删除修改跳转页面
    用PHP访问数据库
    php登录注册页面及加载
    php做登录注册页面及加载
    实现基于物理的渲染
    Tile-Based Deferred Rendering
    矩阵基础 2
  • 原文地址:https://www.cnblogs.com/--smile/p/11811684.html
Copyright © 2011-2022 走看看