zoukankan      html  css  js  c++  java
  • mysql-主从同步工作原理

    什么是MySQL主从复制?

    • MySQL主从复制意思是将数据从一个MySQL服务器的主节点复制到一个或多个从节点。
    • 异步复制是MySQL默认的复制模式。
      • 好处是不用一直访问master,对master造成压力
      • 坏处是主库写入binlog日志后即可成功返回客户端,无须等待binlog日志传递给从库的过程,如果主库一旦宕机,就有可能出现丢失数据的情况

    为什么需要主从复制?

    • 主库负责写,从库负责读,减轻主库压力。而且有时候SQL语句会造成锁表的情况,导致暂时不能读的情况,使用主从,就能保证业务的正常运行
    • 数据热备
    • 便于架构的扩展。考虑以后io会更加频繁,以后可以做多库的存储,降低磁盘io访问频率,提高单个机器的io性能

    主从复制原理

    1. 主库数据改变后,将其记录二进制binlog日志中
    2. 从库在一定时间间隔内对主库的二进制日志进行探测是否发生变化。如果发生变化,通过io thread线程对主库发起请求
    3. 主库会通过io dump thread线程向从库iothread线程传递二进制binlog日志
    4. 从库将得到的binlog日志保存至relay-log日志,通过mysql thread线程读取中继日志,执行里面的sql语句,在从节点上生成相应的数据,从而保证主从数据一致

    注意点

    • 主从时间同步
    • 最好保证主从数据库版本一致,如果不能一致,也要保证主库的版本低于从库的版本
    • 主从一定要开启binlog功能
  • 相关阅读:
    poj 1837 Balance
    poj 3009 Curling 2.0
    vagrant up 无法加载映像目录
    liunx 查看php 安装的扩展
    树莓派 添加超级管理员身份
    Sublime text追踪函数插件:ctags[转载]
    手动安装m4, autoconf, automake, libtool
    nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"
    如何将编码转为自己想要的编码 -- gbk utf-8
    laravel 增删修改
  • 原文地址:https://www.cnblogs.com/wanwz/p/12908700.html
Copyright © 2011-2022 走看看