《谈谈MySQL主从复制》要点:
本文介绍了谈谈MySQL主从复制,希望对您有用。如果有疑问,可以联系我们。
日常企业开发中,业务量的规模都是从小到大,增加到一定数量级后,单一数据库已经无法满足日常的承载压力,导致性能下降.在许多类型的应用中,传统的解决办法都是购买性能更好的机器,简单粗暴的提升硬件配置不是一个有效的解决方案.
今天我们来谈谈另外一种解决方案,就是水平扩展中的复制办法.
1/ 概念
MySQL内建的复制功能是构建大型、高性能应用程序的基础.这类应用使用所谓的“水平扩展”的架构.可以通过为服务器配置一个或多个备库的方式来进行数据同步,将MySQL的数据分布到多个系统上.复制过程中一台主库(Master)服务器可以同步数据到多台从库(Slave)服务器上去.从库也可以配置成另外一台服务器的主库.主库和从库之间可以有多种不同的方式组合.
2/ 工作原理
主从复制一般可分为同步复制和异步复制,实际使用过程中复制架构大都数为异步复制.复制的基本过程如下图:
流程说明:
Slave上面的IO进程连接上Master,并哀求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;
Master接收到来自Slave的IO进程哀求后,通过负责复制的IO进程根据哀求读取日志信息,返回给Slave的IO进程.
Slave的IO进程接收到信息后,将接收到日志内容依次添加到Slave端的relay-log文件的最末端,并将Master返回的bin-log的文件名和位置记录在master-info文件中,以便下次读取.
Slave的Sql进程检测到relay-log中新增加了内容后,立即解析relay-log的内容并自身执行.
3/ 应用场景
MySQL数据库的实时备份
数据库的读写分离;
MySQL的HA集群;
4/ 总结
MySQL主从复制在应用中的好处,有以下几点:
高可用性和故障切换;
利用从服务器做查询;
数据平安,从库实时备份数据及数据分布;
主从分摊负载;
主从复制的不足:如数据丢失、数据同步延迟、扩展性等问题需要办理.
在日常实践中,可能遇到种种问题,官方文档是不错的选择,大家可以在评论中留言讨论实际中使用可能遇到的问题及办理方案.谢谢!!
欢迎参与《谈谈MySQL主从复制》讨论,分享您的想法,维易PHP学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7135.html