MySQL复制(一)--复制概述

(一)什么是复制  

      MySQL复制可以使数据从一台MySQL服务器(主服务器)复制到一台或多台MySQL服务器(从服务器),默认情况下,MySQL的复制是异步的,从服务器不需要永久连接就可以接收来自主服务器的更新。根据配置,可以对整个实例进行复制,也可以对单个db进行复制,还可以对某个表或多个表进行复制。

 

(二)复制的优点 

       MySQL复制的优点主要有:

  • 横向扩展数据库。通过复制,将写业务放在主数据库上,将读业务放到从数据库上,分散业务负载,提高业务性能;
  • 数据安全。主服务器发生crash,可以将从服务器切换为主服务器,减少宕机带来的损失;
  • 实时数据分析。信息分析可以在从数据库上进行,而不会影响主数据库的性能。

 

(三)复制的方法(二进制日志文件位置和GTID)

      MySQL提供了基于二进制日志文件位置和GTID两种方法来配置复制。两种方法主要区别如下:

  • 基于二进制日志文件位置的复制:是传统的复制方法。通过从库已经应用到的日志文件的位置(master_log_file,master_log_pos)来确定从库开始同步的位置;
  • 基于GTID的复制:基于全局事物标识符(GTID)方式是较新的,基于事物进行复制,简化了复制的配置。

 

(四)复制的类型(基于语句的复制和基于行的复制)

      MySQL复制主要有两种核心类型:基于语句的复制(SBR)和基于行的复制(RBR)。采用何种类型,主要取决于二进制日志的格式(ROW或Statement)。区别如下:

  • 基于语句的复制(SBR):主数据库执行了什么SQL语句(主要是DDL语句),从库上也执行相同的语句。优点是产生的二进制日志少,缺点是可能会产生主从数据不一样
  • 基于行的数据(RBR):仅复制发生更改的行数据。优点是主从数据库数据一致,缺点是二进制日志数据量较大。

通常在业务环境中,主从数据必须一致,因此强烈建议使用基于行的复制(RBR)。

 

(五)复制架构

最常用的复制架构有:一主一从、一主多从、级联复制、多主一从。架构图如下:

image

 

【完】

 

 

MySQL复制(replication)文档集合:

1.复制概述
2.基于二进制日志文件位置(binlog)配置复制
3.基于全局事物标识符(GTID)配置复制
4.多源复制
5.级联复制
6.半同步复制
7.延迟复制
8.复制过滤规则
9.对复制进行故障排除
10.故障切换
11.复制管理
posted @   gegeman  阅读(592)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示