MySQL主从同步的原理:

主从同步的原理:
1、主库上面有一个IO线程,从库上有一个IO线程和一个SQL线程,从库中的IO线程负责从主库读取binlog,并写入从库的中继日志;SQL线程负责读取并执行中继日志中的binlog,转换sql语句后应用数据库汇总
2、通信是:
① 从库的IO线程给主库发送同步请求,请求中包含用户名密码和binlog的文件名,pos点
② 主库验证成功后,发送从库需要的binlog日志文件,和binlog文件中pos点
③ 从库的IO线程接收后,把binlog文件转存到中继日志的relay-log文件,并把binlog文件名和pos点记录到master.info文件中,方便下次通信使用
④ 从库的SQl线程监测出relay-log文件后,把relay-log文件转换为binlog文件在本地执行,并把relay-log文件名和pos点记录到relay-log.info文件中
⑤ 从库再次发送下一轮的请求~~~

如果slave后面还挂有从库则也要开启binlog,并添加一个参数log-slave-updates

原文地址:http://blog.51cto.com/10625820/2317850

时间: 2024-08-30 14:20:53

MySQL主从同步的原理:的相关文章

mysql主从同步以及原理

mysql主从复制介绍 当前的生产工作中,大多数应用的mysql主从同步都是异步的复制方式,即不是严格实时的数据同步. 实时和异步: 同步复制: 指的是客户端连接到MySQL主服务器写入一段数据, MySQL主服务器同步给MySQL从服务器需要等待从服务器发出同步完成的响应才返回客户端OK, 这其中等待同步的过程是阻塞的, 如果有N台从服务器, 效率极低 异步复制: 指的是客户端连接到MySQL主服务器写入一段数据, MySQL主服务器将写入的数据发送给MySQL从服务器, 然后直接返回客户端O

mysql 主从同步服务原理

主从同步是一个异步复制过程.master上开启bin-log日志功能.master  开启IO线程   slove  开启IO线程  SQL线程 从服务器执行 slave    start   通过授权用户连接master上  请求master发送bin-log  日志内容 !!!  master 接受slave  IO 线程请求后,返回给slave IO 线程 4 .slave 接受到信息后,将接受到的日志内容添加到slave端的relay-log文件最末尾,并将bin-log日志文件名mas

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

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

Mysql主从同步(Mysql A B复制)配置

Mysql主从同步(Mysql A B复制)配置 Mysql主从同步(Mysql AB复制)功能是自动备份数据 vim/var/lib/mysql/auto.cnf  数值不能一样 master主               slave从 192.168.1.1        192.168.1.2 1.主从环境配置:    mysql_5.6版本 servicemysql start         ping通         service iptablesstop         sete

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

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

mysql 主从同步详细配置教程

8.10 Mysql 主从同步 8.10.1 主从原理mysql主从同步的原理:1.在master上开启bin-log日志,用于记录master上的更改删的一些记录.2.主从各开启io线程,从上开启io线程和sql线程.同时都配置好主从上的serveid唯一性3.主上配置好授权用户,从上设置change master授权连接的命令3. 从上io线程通过授权连接master,master通过io线程检查到slav的请求的日志.postsion点位置.4.master将这些相应的请求内容发送给sla

Mysql主从同步-概念和原理介绍

Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收从那时起

如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?

高并发这个阶段,肯定是需要做读写分离的,啥意思?因为实际上大部分的互联网公司,一些网站,或者是 app,其实都是读多写少.所以针对这个情况,就是写一个主库,但是主库挂多个从库,然后从多个从库来读,那不就可以支撑更高的读并发压力了吗? 如何实现 MySQL 的读写分离? 其实很简单,就是基于主从复制架构,简单来说,就搞一个主库,挂多个从库,然后我们就单单只是写主库,然后主库会自动把数据给同步到从库上去. MySQL 主从复制原理的是啥? 主库将变更写入 binlog 日志,然后从库连接到主库之后,

MySQL主从同步--原理及实现(一)

1.什么是mysql主从同步? 当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 2.主从同步有什么好处? 水平扩展数据库的负载能力. 容错,高可用.Failover(失败切换)/High Availability 数据备份. 3.主从同步的原理是什么? 首先我们来了解master-slave的体系结构. 如下图: 不管是delete.update.insert,还是创建函数.存储过程,所有的操作都在master上.当master有操作的时候,slave会快速的