MySQL主从复制

一:基本概念

主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从数据库,然后在从数据库上对这些日志重新执行,从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他从服务器的主库,实现链状复制。
image

二:作用

1.主库出现问题,可以快速切换到从库提供服务(实现高可用架构,避免单点故障)
2.实现读写分离,降低主库的访问压力(在从库执行查询,分担主库查询压力)
3.可以在从库中执行备份,以避免备份期间影响主库服务

三:实现原理

MySQL主从复制原理
image

  1. master主库会在提交事务时,将数据变更记录到二进制文件 binlog中。
  2. 从库通过一个Iothread读取主库的二进制日志文件 binlog,写入到从库的中继日志 Relay log。
  3. slave通过一个SQLthread读取到中继日志,并重做中继日志中的事件,将改变反映它自己的数据。

使用 MySQL 主从复制可能存在以下问题:

  • 主库宕机后,数据可能丢失
  • 从库中只有一个SQLthread,主库写压力大,复制可能延时

解决方法:

  • 增强半同步复制:号称无损半同步复制,解决数据丢失问题。
posted @ 2022-03-20 00:53  爱慕6  阅读(85)  评论(0)    收藏  举报