详细介绍:MySQL主从复制:数据同步实战指南

news/2025/11/4 17:12:36/文章来源:https://www.cnblogs.com/yangykaifa/p/19190853

MySQL 主从复制是一种数据同步机制,允许将一个 MySQL 数据库(主库)的数据复制到一个或多个 MySQL 数据库(从库)。这种机制常用于提高读取性能、实现数据备份和灾难恢复。

主从复制的工作原理

  1. 主库(Master):将数据变更记录到二进制日志(binary log)
  2. 从库(Slave)
    • 启动一个 I/O 线程,连接主库并读取二进制日志内容,写入本地中继日志(relay log)
    • 启动一个 SQL 线程,读取中继日志并执行其中的 SQL 语句,实现数据同步

配置步骤

1. 主库配置

编辑 MySQL 配置文件(my.cnf 或 my.ini):

[mysqld]
# 启用二进制日志
log_bin = /var/log/mysql/mysql-bin.log
# 服务器唯一 ID(主从不能相同)
server-id = 1
# 需要同步的数据库(可选)
binlog_do_db = 需要同步的数据库名
# 不需要同步的数据库(可选)
binlog_ignore_db = mysql

重启主库后,创建用于复制的用户:

-- 创建复制用户
CREATE USER 'repl_user'@'从库IP' IDENTIFIED BY 'password';
-- 授予复制权限
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'从库IP';
-- 刷新权限
FLUSH PRIVILEGES;
-- 查看主库状态
SHOW MASTER STATUS;

记录下 File 和 Position 的值,配置从库时需要用到。

2. 从库配置

编辑从库的 MySQL 配置文件:

[mysqld]
# 服务器唯一 ID(与主库不同)
server-id = 2
# 中继日志
relay_log = /var/log/mysql/mysql-relay-bin.log
# 只读模式(可选,提高安全性)
read_only = 1

重启从库后,配置主从关系:

-- 停止从库复制进程
STOP SLAVE;
-- 配置主库信息
CHANGE MASTER TO
MASTER_HOST = '主库IP',
MASTER_USER = 'repl_user',
MASTER_PASSWORD = 'password',
MASTER_LOG_FILE = '前面记录的File值',
MASTER_LOG_POS = 前面记录的Position值;
-- 启动从库复制进程
START SLAVE;
-- 查看从库状态
SHOW SLAVE STATUS\G

在输出结果中,若 Slave_IO_Running 和 Slave_SQL_Running 均为 Yes,表示主从复制配置成功。

主从复制的类型

  1. 异步复制:主库执行完事务后立即返回,不等待从库确认(默认方式)
  2. 半同步复制:主库执行完事务后,等待至少一个从库接收并写入中继日志后才返回
  3. 全同步复制:主库执行完事务后,等待所有从库都执行完该事务后才返回

常见问题及解决

  • 复制延迟:可通过优化网络、调整从库配置或使用并行复制解决
  • 复制中断:通常是由于主从数据不一致或 SQL 语句执行错误,可通过 STOP SLAVE 修复后再 START SLAVE
  • 权限问题:确保复制用户有正确的权限和网络访问权限

主从复制是 MySQL 高可用架构的基础,通过合理配置可以显著提高系统的可用性和读取性能。

mysql复制类型举例说明

MySQL 提供了多种复制类型,适用于不同的业务场景和数据一致性需求。以下是常见的复制类型及具体说明:

1. 异步复制(Asynchronous Replication)

原理:主库执行完 SQL 事务后,立即向客户端返回成功,无需等待从库确认是否已接收或执行该事务。二进制日志的传输和从库的应用是异步进行的。

举例

  • 电商网站的商品详情页查询,主库处理订单和库存更新,从库负责大量的商品信息查询。
  • 主库执行 UPDATE products SET stock = 100 WHERE id = 1; 后,立即返回成功给应用,无需等待从库同步。此时若主库突然宕机,可能存在已提交的事务未同步到从库的风险。

特点

  • 性能最好(主库无等待开销)
  • 数据一致性最差(可能丢失数据)
  • 是 MySQL 默认的复制方式

2. 半同步复制(Semi-Synchronous Replication)

原理:主库执行事务后,需等待至少一个从库将日志写入中继日志(relay log)并返回确认,才向客户端返回成功。但不等待从库执行完事务。

举例

  • 金融系统的转账业务,要求核心交易数据不能丢失。
  • 主库执行 UPDATE accounts SET balance = balance - 100 WHERE user_id = 123; 后,会等待从库的 I/O 线程确认已接收日志,再返回 “转账成功”。即使主库宕机,至少有一个从库保存了完整的事务日志,可避免数据丢失。

特点

  • 性能略低于异步复制(主库需等待从库确认)
  • 数据一致性较高(至少一个从库有完整日志)
  • 需要安装 semisync_master 和 semisync_slave 插件启用

3. 全同步复制(Fully Synchronous Replication)

原理:主库执行事务后,必须等待所有从库都执行完该事务并返回确认,才向客户端返回成功。

举例

  • 银行核心系统的账户余额管理,要求所有节点数据实时完全一致。
  • 主库执行 UPDATE balances SET amount = 5000 WHERE account_id = 456; 后,需等待所有从库都执行完该更新并返回成功,才告知用户 “操作完成”。任何一个从库未完成,主库都会等待。

特点

  • 数据一致性最高(所有节点数据完全一致)
  • 性能最差(主库等待时间长,受网络和从库性能影响大)
  • 适用于对一致性要求极高的场景(如金融核心系统)

4. 延迟复制(Delayed Replication)

原理:从库故意延迟同步主库的日志,延迟时间可自定义(如 1 小时)。用于应对误操作(如删库)时的数据恢复。

举例

  • 运维人员误执行 DROP DATABASE db; 操作,主库数据被删除。由于从库延迟 1 小时同步,可在从库还未执行该操作前,立即停止复制并恢复数据。

配置方式

-- 从库设置延迟 3600 秒(1 小时)
CHANGE MASTER TO MASTER_DELAY = 3600;

特点

  • 本质是异步复制的变种,增加了可控的延迟时间
  • 用于数据备份和灾难恢复,不能保证实时一致性

5. 并行复制(Parallel Replication)

原理:从库的 SQL 线程不再单线程执行日志,而是并行处理多个事务(按库或按事务组并行),提高同步效率。

举例

  • 高并发场景下,主库同时处理订单、支付、物流等多个库的事务。从库若使用并行复制(按库并行),可同时对 orderspaymentslogistics 三个库并行执行同步,减少复制延迟。

配置方式

# 从库配置文件,设置并行复制线程数
slave_parallel_workers = 4  # 4 个并行线程
slave_parallel_type = LOGICAL_CLOCK  # 按事务组并行(推荐)

特点

  • 解决单线程复制的性能瓶颈
  • 适用于主库写入压力大的场景

总结

选择哪种复制类型,需在性能数据一致性之间权衡:

  • 追求高性能 → 异步复制
  • 兼顾性能与安全 → 半同步复制
  • 强一致性优先 → 全同步复制
  • 需容错误操作 → 延迟复制
  • 主库写入压力大 → 并行复制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/955876.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wzy

题目询问 $ s $ 到 $ t $ 的最短距离,我们可以发现我们就没法跑记录二维是否用过传送的方法。 可以发现 $ s->t $ 的最短距离可以看做 $ s->x->y->t $ ,$ x,y $ 为随便选的两个点,设 $ dis1[i] $ 为 $ …

2025年组合型铝合金桥架供货厂家权威推荐榜单:组合式铝合金桥架/阻燃铝合金桥架/专业生产铝合金桥架源头厂家精选

在新型基础设施建设和智能电网改造的推动下,组合型铝合金桥架市场需求持续增长。据2025年行业统计数据显示,中国电缆桥架市场规模已突破580亿元,其中铝合金桥架占比达到35%。 随着数据中心、轨道交通等项目建设加速…

25fall做题记录 - November - Amy

2025.11.1 括号生成 向右或向上走,不能超过对角线。 Catalan数枚举。 class Solution:def generateParenthesis(self, n: int) -> list[str]:ans=[]def dfs(l,res,r):if(l<r):returnif(l+r==2*n-1):ans.append(…

YACS2025年10月乙组

YACS2025年10月乙组T1. 反转 枚举反转了多少行和列(因为行和行之间本身没有区别,列同理),算一下是否有 \(k\) 个格子被反转。代码实现 #include <bits/stdc++.h> #define rep(i, n) for (int i = 0; i < …

Google Driver 读写 excel

Google Driver 读写 excel1. 启用 API 并创建凭证进入 Google Cloud 控制台, https://console.cloud.google.com/ 创建新项目; 搜索并启用 Google Drive API 和 Google Sheets API; 创建凭证:若为本地脚本 / 桌…

2025年河南镶牙机构权威推荐榜单:河南老人镶牙机构源头精选

随着人口老龄化加剧与口腔健康意识提升,河南镶牙市场需求显著增长。行业数据显示,2024年河南义齿修复市场规模突破18亿元,其中种植牙占比45%,全口修复需求年均增长率达20%。本文将基于机构资质、医生团队实力与临床…

Windows11升级专业版密钥

Windows 11 专业版是微软为追求高效能体验的用户打造的操作系统,以底层性能优化为核心,深度释放硬件潜力,适配多场景高性能需求。其性能优势集中体现在三大维度:硬件支持与调度上,支持高达 2TB 内存与双路 128 核…

分享一个自动化进行Oracle 重做日志组管理的脚本

分享一个自动化进行Oracle 重做日志组管理的脚本/* Formatted on 2025/11/04 15:00:00 (QP5 v5.300) */ -- File Name : db_add_logfile_optimized.sql -- Purpose : 优化版Oracle重做日志组管理脚本 -- 支持功能: --…

强化学习值函数与策略搜索两种方法对比和疑问解读

下面通过一个简单的“迷宫寻宝”例子,用伪代码和Python代码对比直接策略搜索(以PPO为例)和基于值函数的方法(以Q-Learning为例)的核心区别。 问题场景:迷宫寻宝环境:3x3网格迷宫,起点(0,0),宝藏在(2,2),障碍…

把 1 GHz 做成一粒米”——成都恒利泰科技 HT-LFCG-1000+

把 1 GHz 做成一粒米”——成都恒利泰科技 HT-LFCG-1000+LTCC 低通滤波器,DC-1000 MHz 全段驻波≤1.2,插损≤0.9 dB,4Pad 贴片只有 2 mm1.25 mm,比回形针的弯钩还小;5G 小基站、Wi-Fi 7、车载数传直接“贴脸”安放…

中文分词手艺全解析

中文分词手艺全解析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "C…

2025qwb 线上赛wp

2025qwb 线上赛wp好长时间不碰ctf了有快两年了吧。谍影重重 6.0 是一个流量文件看一下data包头80007651995957c3884819ee 这段数据(因为之前基本没接触过流量,我直接问ai,ai也没有分析出是什么协议最后看了一下别人…

2025年钢带波纹管批发厂家权威推荐榜单:hdpe钢带波纹管/钢带管/钢带增强聚乙烯螺旋波纹管源头厂家精选

随着城镇化建设加速和市政工程标准提升,钢带波纹管市场需求持续增长。行业数据显示,2024年我国塑料管道年产量突破1800万吨,其中钢带增强HDPE螺旋波纹管在市政排水领域占比达35%,年均增长率稳定在12%。本文将基于企…

11.4每日总结

今天主要的课程有软件构造,软件企业文化,软件案例分析,完成了软件设计实验五和实验六。借助ai做好了企业文化的ppt,同时软考在即,网课已经全部看完了,难度很大压力也不小,加油!

深入解析:探索大语言模型(LLM):一文读懂通用大模型的定义、特点与分类

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年聚氨酯预聚体公司新排行榜,浇注聚氨酯原材料企业推荐

2025年聚氨酯工业持续向高性能、定制化、绿色化方向升级,聚氨酯预聚体、浇注型聚氨酯及浇注聚氨酯原材料作为下游制造的核心基础,其性能稳定性、工艺适配性与定制化能力,直接决定矿用筛板、胶辊、密封件、新能源配件…

2025年乐博智家保鲜盒直销厂家权威推荐榜单:乐博智家冰沙杯/乐博智家炒冰机/乐博智家刨冰机源头厂家精选

随着家居生活品质升级与健康意识提升,保鲜盒市场呈现高速增长态势。行业数据显示,2024年中国保鲜盒市场规模已突破180亿元,其中智能密封与环保材质产品增速达25%,厨房收纳系统化解决方案需求提升30%。本文将基于企…

2025 年打标机厂家最新推荐排行榜:结合协会测评权威数据,聚焦技术创新与行业适配的优质品牌全解析手持/点阵/金属/铭牌打标机公司推荐

引言 随着智能制造产业持续升级,打标机作为产品标识与追溯管理的核心设备,市场需求呈稳步增长态势,但行业内产品质量差异显著、技术水平参差不齐的问题仍较为突出。为给企业选购提供权威参考,本次榜单由专业机械制…

2025年注射成型烧结炉生产厂商新排行榜,碳化硅反应烧结炉厂家推荐

2025年新材料加工行业加速升级,注射成型烧结炉、碳化硅反应烧结炉及高温真空烧结炉等专用设备,已成为新型导热材料、特种陶瓷、碳材料、电池负极材料等领域的核心生产支撑,其温度控制精度、气氛稳定性、自动化程度直…

多项式学习小记

多项式 FFT 和 NTT 以后再补。 FFT 单位根,复数,乱推 NTT 将单位根变成原根,但模数要满足对于 \(\log_2(\text{序列长度})<n\) ,\(p=2^nx+1\) MTT 即任意模数。 这时 NTT 使用不了,FFT 会被卡精度。 方法1 使用…