《MYSQL数据库Mysql主从同步的实现原理》要点:
本文介绍了MYSQL数据库Mysql主从同步的实现原理,希望对您有用。如果有疑问,可以联系我们。
MYSQL实例1、什么是mysql主从同步?
MYSQL实例当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库.
MYSQL实例2、主从同步有什么好处?
MYSQL实例3、主从同步的原理是什么?
MYSQL实例首先我们来了解master-slave的体系结构.
MYSQL实例如下图:
MYSQL实例
MYSQL实例不管是delete、update、insert,还是创建函数、存储过程,所有的操作都在master上.当master有操作的时候,slave会快速的接收到这些操作,从而做同步.
MYSQL实例但是,这个机制是怎么实现的呢?
MYSQL实例在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);在slave机器上,slave读取主从同步事件,并根据读取的事件变化,在slave库上做相应的更改.
MYSQL实例如此,就实现了主从同步了!
MYSQL实例下面我们来详细的了解.
MYSQL实例3.1主从同步事件有哪些
MYSQL实例上面说到:
MYSQL实例在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);
MYSQL实例主从同步事件有3种形式:statement、row、mixed.
MYSQL实例3.2在master机器上的操作
MYSQL实例当master上的数据发生改变的时候,该事件(insert、update、delete)变化会依照顺序写入到binlog中.
MYSQL实例binlog dump线程
MYSQL实例当slave连接到master的时候,master机器会为slave开启binlog dump线程.当master 的 binlog发生变化的时候,binlog dump线程会通知slave,并将相应的binlog内容发送给slave.
MYSQL实例3.3在slave机器上的操作
MYSQL实例当主从同步开启的时候,slave上会创建2个线程.
MYSQL实例3.4如安在master、slave上查看上述的线程?
MYSQL实例使用SHOW PROCESSLIST命令可以查看.
MYSQL实例如图,在master机器上查看binlog dump线程.
MYSQL实例
MYSQL实例如图,在slave机器上查看I/O、SQL线程.
MYSQL实例
MYSQL实例4、讲了这么多,一图以蔽之
MYSQL实例
MYSQL实例5、关于实战
MYSQL实例关于实战,请参考我的另一篇文章:Mysql主从同步实战
MYSQL实例以上就是本文的全部内容,希望对大家的学习有所赞助,也希望大家多多支持维易PHP.
欢迎参与《MYSQL数据库Mysql主从同步的实现原理》讨论,分享您的想法,维易PHP学院为您提供专业教程。