• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mysql主从同步的实现原理

    1、什么是mysql主从同步?

    当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。

    2、主从同步有什么好处?

    3、主从同步的原理是什么?

    首先我们来了解master-slave的体系结构。

    如下图:

    不管是delete、update、insert,还是创建函数、存储过程,所有的操作都在master上。当master有操作的时候,slave会快速的接收到这些操作,从而做同步。

    但是,这个机制是怎么实现的呢?

    在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);在slave机器上,slave读取主从同步事件,并根据读取的事件变化,在slave库上做相应的更改。

    如此,就实现了主从同步了!

    下面我们来详细的了解。

    3.1主从同步事件有哪些

    上面说到:

    在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);

    主从同步事件有3种形式:statement、row、mixed。

    1. statement:会将对数据库操作的sql语句写入到binlog中。
    2. row:会将每一条数据的变化写入到binlog中。
    3. mixed:statement与row的混合。Mysql决定什么时候写statement格式的,什么时候写row格式的binlog。

    3.2在master机器上的操作

    当master上的数据发生改变的时候,该事件(insert、update、delete)变化会按照顺序写入到binlog中。

    binlog dump线程

    当slave连接到master的时候,master机器会为slave开启binlog dump线程。当master 的 binlog发生变化的时候,binlog dump线程会通知slave,并将相应的binlog内容发送给slave。

    3.3在slave机器上的操作

    当主从同步开启的时候,slave上会创建2个线程。

    3.4如何在master、slave上查看上述的线程?

    使用SHOW PROCESSLIST命令可以查看。

    如图,在master机器上查看binlog dump线程。

    如图,在slave机器上查看I/O、SQL线程。

    4、讲了这么多,一图以蔽之

    5、关于实战

    关于实战,请参考我的另一篇文章:Mysql主从同步实战

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 详解MySQL实现主从复制过程
    • Mysql主从复制作用和工作原理详解
    • MySQL数据库主从同步实战过程详解
    • MySQL主从复制与读写分离原理及用法详解
    • MySQL数据库主从复制原理及作用分析
    上一篇:详解Mysql主从同步配置实战
    下一篇:Mac下MySQL初始化密码操作
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql主从同步的实现原理 Mysql,主从,同步,的,实现,