MySQL数据库主从原理理解

在日常项目测试过程中,经常会遇到mysql数据库的主从模式,也就是主从复制和读写分离,主数据库(Master)数据有更新时,会同步到从数据库(Slave),Master数据库负责写数据,而多台Slave数据库负责读数据,这样便提升了数据库的并发性能。

 

主从复制的原理

 

主要分为以下几个步骤:

1. 主数据库(Master)如果有数据更新会被写到二进制日志(binary log)中;

2. 从数据库启用slave服务,与主数据库连接;

3. 从数据库创建一个I/O线程,从主数据库读取二进制日志并且写入到中继日志(Relay log)中

4. 从数据库创建一个SQL线程,从中继日志中读取内容,将更新的内容写到从数据库

 

主从复制的作用

1. 如果主数据库发生故障,可以切换到从数据库继续使用,避免数据的丢失;

2. 提高了数据库的并发性能

 

读写分离

顾名思义就是读和写是分离的,主数据负责事务的写操作,包括insert、update和delete的操作,而从数据库则是负责读操作,即select操作。

 

主从同步延迟

因为读和写的操作时分开的,所以有些场景下可能会存在主从同步有延迟。

延迟高的原因

  • 网络存在延迟
  • 主从设备硬件导致
  • 不是同步复制,而是异步复制
  • 主数据库的并发高

优化延迟

  • 优化网络
  • 优化mysql的参数
  • 从库使用高性能主机
  • 从库使用SSD磁盘

 

posted @ 2022-01-10 20:11  coco椰果  阅读(235)  评论(0)    收藏  举报