,,Mysql主从同步的实现原理

,,Mysql主从同步的实现原理

本文主要介绍Mysql主从同步的原理。边肖认为这很好。现在分享给大家,给大家一个参考。来和边肖一起看看吧。

1.什么是mysql主从同步?

当主库中的数据发生变化时,这些变化将实时同步到从库中。

2、主从同步有什么好处?

扩展水平数据库的负载能力。

容错和高可用性。故障转移/高可用性

数据备份。

3、主从同步的原理是什么?

首先,我们来了解一下主从架构。

如下图:

无论是删除、更新、插入,还是创建函数或存储过程,所有操作都在主机上进行。当主设备有操作时,从设备将快速接收这些操作并同步它们。

但是,这个机制是怎么实现的呢?

在主机上,主从同步事件会被写入一个专门的日志文件(binary-log);在从机上,从机读取主从同步事件,并根据读取事件的变化在从库中做出相应的改变。

这样就实现了主从同步!

让我们仔细看看。

3.1什么是主从同步事件?

上面写着:

在主机上,主从同步事件会被写入一个专门的日志文件(binary-log);

主从同步事件有三种形式:语句、行和混合。

语句:数据库操作的sql语句将被写入binlog。

Row:每条数据的变化都将被写入binlog。

混合:语句和行的混合。决定Mysql什么时候写语句格式,binlog写行格式。

3.2主机上的操作

当master上的数据发生变化时,该事件的变化(插入、更新、删除)将依次写入binlog。

binlog dump线程

当从机连接到主机时,主机将为从机打开binlog转储线程。当主设备的二进制日志发生变化时,二进制日志转储线程将通知从设备,并将相应的二进制日志内容发送给从设备。

3.3在slave机器上的操作

当主从同步开启时,从机将创建两个线程。

输入输出线程。这个线程连接到主机,主机上的binlog转储线程会将binlog的内容发送到这个I/O线程。I/O线程接收binlog内容,然后将内容写入本地中继日志。

SQL线程。这个线程读取I/O线程写的中继日志。根据中继日志的内容,对从数据库进行相应的操作。

3.4如何在主从上查看上述线程?

使用SHOW PROCESSLIST命令查看。

如图所示,检查主机上的binlog转储线程。

如图所示,查看从机上的I/O和SQL线程。

4、讲了这么多,一图以蔽之

5、关于实战

实战可以参考我的另一篇文章:Mysql主从同步实战。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • pymysql菜鸟教程,pymysql 使用
  • pymysql菜鸟教程,pymysql 使用,pymysql模块使用简介与示例
  • mysql锁实现,mysql锁算法
  • mysql锁实现,mysql锁算法,MySQL锁机制与用法分析
  • mysql连接报错10061,mysql连接错误10060
  • mysql连接报错10061,mysql连接错误10060,MYSQL无法连接 提示10055错误的解决方法
  • mysql连接报10060错误,mysql连接报错10055
  • mysql连接报10060错误,mysql连接报错10055,MySQL连接异常报10061错误问题解决
  • mysql辅助索引和主键索引,mysql 主键 外键 索引
  • mysql辅助索引和主键索引,mysql 主键 外键 索引,MySQL索引之主键索引
  • MySQL语句大全,mysql常见语句总结
  • MySQL语句大全,mysql常见语句总结,MySQL语句整理及汇总介绍
  • mysql触发器的使用方法实验报告,mysql中触发器的使用
  • 留言与评论(共有 条评论)
       
    验证码: