mysql主从复制的原理及作用是什么
本文小编为大家详细介绍“mysql主从复制的原理及作用是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql主从复制的原理及作用是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
提升数据库并发能力
#执行查询操作的时候,先查询缓存中是否有数据,缓存中有数据,则获取缓存中的数据#缓存中没有数据,则从mysql数据库中查询数据,同时将数据写入缓存中
主从复制的作用
其中一个是Master主库,负责写入数据,我们称之为:写库。其它都是Slave从库,负责读取数据,我们称之为:读库。当主库进行更新的时候,会自动将数据复制到从库中,而我们在客户端读取数据的时候,会从从库中进行读取。1、读写分离:面对“读多写少”的需求,采用读写分离的方式,可以实现更高的并发访问。同时,我们还能对从服务器进行负载均衡,让不同的读请求按照策略均匀地分发到不同的从服务器上,让读取更加顺畅。读取顺畅的另一个原因,就是减少了锁表的影响,比如我们让主库负责写,当主库出现写锁的时候,不会影响到从库进行SELECT的读取。2、数据备份:我们通过主从复制将主库上的数据复制到了从库上,相当于是一种热备份机制,也就是在主库正常运行的情况下进行的备份,不会影响到服务3、具有高可用性:数据备份实际上是一种冗余的机制,通过这种冗余的方式可以换取数据库的高可用性,也就是当服务器出现故障或宕机的情况下,可以切换到从服务器上,保证服务的正常运行
主从复制原理
Slave会从Master读取binlog来进行数据同步步骤1:Master将写操作记录到二进制日志(binlog)。步骤2:Slave将Master的binarylogevents拷贝到它的中继日志(relaylog);步骤3:Slave重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步的且串行化的,而且重启后从接入点开始复制。
实际上主从同步的原理就是基于binlog进行数据同步的。在主从复制过程中,会基于3个线程来操作,一个主库线程,两个从库线程二进制日志转储线程(Binlogdumpthread)是一个主库线程。当从库线程连接的时候,主库可以将二进制日志发送给从库,当主库读取事件(Event)的时候,会在Binlog上加锁,读取完成之后,再将锁释放掉。从库I/O线程会连接到主库,向主库发送请求更新Binlog。这时从库的I/O线程就可以读取到主库的二进制日志转储线程发送的Binlog更新部分,并且拷贝到本地的中继日志(Relaylog)。从库SQL线程会读取从库中的中继日志,并且执行日志中的事件,将从库中的数据与主库保持同步。
主从复制原则
每个Slave只有一个Master每个Slave只能有一个唯一的服务器ID每个Master可以有多个Slave
读到这里,这篇“mysql主从复制的原理及作用是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。