MySQL(九):MySQL主从复制原理

1、什么是MySQL主从复制

  MySQL主从复制:数据从一个主节点数据库复制到至少一个从节点数据库。MySQL采用异步复制方式同步数据,从节点不需要一直访问主数据库更新自身数据。

2、为什么需要MySQL主从复制

2.1、保证系统的高可用

  在复杂业务系统中,某些频繁的操作会导致MySQL锁表,影响业务的正常进行。使用主从复制,进行读写分离,主库写、从库读,主库的锁表不会影响从库的读取,提高系统的可用性。

2.2、保证系统的高性能

  数据库的I/O处理往往是系统的瓶颈,当I/O的访问频率过高,单机无法满足性能要求,使用主从复制进行多库存储,降低磁盘I/O访问的频率,可提高单个机器的I/O性能。

3、MySQL主从复制原理

  主从复制原理图:

  0

  1、Master主服务器将应用程序的DML操作记录到二进制文件binlog中,即将数据的改变记录到二进制文件中;

  2、Slave周期探测Master中二进制binlog文件是否发生改变,若发生改变,Slave服务器则创建I/O Thread请求Master主库发生变化的二进制binlog文件文件;

  3、Master主库在接收到Slave的I/O请求,为每个I/O请求对应的开启dump线程,同步主库的binlog文件至Slave服务器;

  4、Slave从库服务器通过I/O Thread接收主库的二进制文件,保存至Slave的中继日志relay-log文件中;

  5、Slave节点开启一个SQL线程,从relay-log中继日志中读取数据持久化至从节点,使得主从节点数据保持一致;

  6、Slave从节点数据同步完成,I/OThread和SQLThread进入休眠状态,等待Schedule Thread探测主库的binlog发生改变后被唤醒。

从节点有两个线程:I/O Thread、SQL Thread,这一点从从节点的日志中就可以发现:

  0

 

posted @   无虑的小猪  阅读(162)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示