MySQL主从同步的简单理解

MySQL主从同步的简单理解

许多大型网站为了减轻海量用户对于服务器并发访问量的性能问题,会使用很多解决的方案,
数据库主从分离,就是目前主流的一种解决手段。
想一下每个用户都通过控制层业务层调用服务器数据,用户量小还好说,
用户量大的话轻则用户体验极差,重则数据库崩溃甚至数据丢失,那真的就是很严重的事情了。

如何解决,解决方案之一就是主从分离。
主从那长话短说就是,一台服务器我处理不了就用几台服务器咯,
但是这些服务器是有主次之分以及职责划分的。

* 将我们对数据库的读写操作分别放到不同的服务器集群中运行。
* 一般主服务器负责写入,从服务器负责读取。
* 主服务器做的操作同步到从服务器中。
* 主从配置只需要配置数据库,无需修改业务代码。

那么来讲一下具体的工作原理,如图:


1. 主服务器(Master)将数据信息(Data changes)存储到二进制日志中(Binary log)
2. 从服务器开启一个I/O线程(I/O thread),用于连接主从服务器,并拷贝/同步主服务器的操作。
3. 将这些操作同步到中介日志中(Relay log)
4. 从服务器重复主服务器的操作(Replay / Read)

从服务器执行主服务器的同步操作也要一步一步的来,可以类比生产者消费者案例,
所以需要同步到从服务器日志中一步一步的同步执行。

以上就是我个人初学的一个理解吧,如有不对请一定要指出。

图片来源于慕k网的一些资料

原文地址:https://blog.51cto.com/12133802/2417846

时间: 2024-07-31 02:04:30

MySQL主从同步的简单理解的相关文章

zabbix自定义key监控mysql主从同步超简单!

1.在zabbix客户端配置文件中加入: 首先要对mysql提供一个查询主从状态的账号!(当然用root也可以.) UserParameter=mysql.replicate_error,if test `mysql -uxxx -pxxx -h127.0.0.1 -e 'show slave status\G' | awk -F: '{if($1~/Slave_IO_Running/) print$2}' ` = "Yes" -a `mysql -uxxx -pxxx -h127.0

MySQL主从同步机制与同步延时问题追查过程

前言 作为一名DBA,在工作中会经常遇到一些MySQL主从同步延迟的问题,这些同步慢的问题,其实原因非常多,可能是因为主从的网络问题导致,可能是因为网络带宽问题导致,可能是因为大事务导致,也可能是因为单线程复制导致的延迟. 今天遇到一个问题,Mysql持续报错,主从同步延时数过大或错误.所以这篇文章给大家分享下主从同步的机制原理以及问题排查思路. 故障表现 最直观的表现为: ? 1 2 3 4 5 6 7 mysql> show slave status\G;  // 状态一  Seconds_

Mysql主从同步延迟与系统时间的关系

Mysql主从同步延迟受到多种因素影响, 比如大事务, 从库查询压力, 网路延迟等: 这些比较常见: 但还受到主从机器系统时钟差的影响,这一点可能容易被忽视.上周, 就遇到了这样的情况, 主库的系统时间由于某种原因落后于从库几十秒, 结果频繁的出现大的主从延迟同步 ,查了N久业务方面的问题,都找不出原因: 在和同事的交流中,发现大家对参数Seconds_Behind_Master的理解有点补一样,基本有两种理解: 一种理解是来源于 Mysql手册上的描述,大体意思是这个时间是从库线程处理的最近的

MySQL主从同步原理讲述

关于mysql主从同步,相信大家都不陌生,随着系统应用访问量逐渐增大,单台数据库读写访问压力也随之增大,当读写访问达到一定瓶颈时,将数据库的读写效率骤然下降,甚至不可用:为了解决此类问题,通常会采用mysql集群,当主库宕机后,集群会自动将一个从库升级为主库,继续对外提供服务:那么主库和从库之间的数据是如何同步的呢? 为了减轻主库的压力,应该在系统应用层面做读写分离,写操作走主库,读操作走从库,下图为MySQL官网给出的主从复制的原理图,从图中可以简单的了解读写分离及主从同步的过程,分散了数据库

mysql主从同步(4)-同步延迟状态考量(seconds_behind_master和pt-heartbea)

一般情况下,我们是通过"show slave status \G;"提供的Seconds_Behind_Master值来衡量mysql主从同步的延迟情况.具体说明见:mysql主从同步(4)-Slave延迟状态监控,这种方法在大多数情况下确实是可行的.但是经验告诉我,仅仅依靠Seconds_Behind_Master的值来监测主从同步数据是否延迟是绝对不可靠的!!! 曾经遇到过的一个坑:Mysql主从环境部署后,刚开始主从数据同步是没问题的,也是通过监控Seconds_Behind_M

mysql主从同步中应注意的问题

MYSQL主从同步的作用 (1) 数据分布(2) 负载平衡(load balancing)(3) 备份(4) 高可用性(high availability)和容错 MYSQL主从同步的原理 关于MYSQL的主从同步,最主要的是要了解MYSQL的主从同步是如何工作的也即主从同步的原理,通过下图能很明白的指导其工作的过程: 大致描述一下过程:从服务器的IO线程从主服务器获取二进制日志,并在本地保存为中继日志,然后通过SQL线程来在从上执行中继日志中的内容,从而使从库和主库保持一致.主从同步的详细过程

MySQL主从同步、读写分离配置步骤、问题解决笔记

根据要求配置MySQL主从备份.读写分离,结合网上的文档,对搭建的步骤和出现的问题以及解决的过程做了如下笔记:       现在使用的两台服务器已经安装了MySQL,全是rpm包装的,能正常使用.       为了避免不必要的麻烦,主从服务器MySQL版本尽量保持一致; 环境:192.168.0.1 (Master)           192.168.0.2 (Slave) MySQL Version:Ver 14.14 Distrib 5.1.48, for pc-linux-gnu (i6

趁一切还来得及【五】数据库MySQL主从同步的实践部署

自笑栖迟淮海客,十年心事一灯前.                                           --[元]萨都拉 第二章 数据库MySQL主从同步部署操作实践 2.1 数据同步相关应用基础 ①MySQL主从同步架构是目前使用最多的数据库架构之一,尤其是负载比较大的网站,因此对于主从同步的部署管理也就显得非常重要. ②MySQL主从同步的作用:(1) 数据分布,(2) 负载平衡(load balancing),(3) 备份,(4) 高可用性(high availability

mysql主从同步(3)-percona-toolkit工具(数据一致性监测、延迟监控)使用梳理

转自:http://www.cnblogs.com/kevingrace/p/6261091.html 在mysql工作中接触最多的就是mysql replication mysql在复制方面还是会有一些常规问题: 比如主库宕机或者从库宕机有可能会导致复制中断,通常需要进行人为修复, 或者很多时候需要把一个从库提升为主库,但对从库和主库的数据一致性不能保证一样. 这种情况下就需要使用percona-toolkit工具的pt-table-checksum组件来检查主从数据的一致性:如果发现不一致的