【MySQL知识点问答题】高级复制技术

目录

[1. 相对于坐标位置,使用 GTID 配置复制时都具备哪些优势?](#1. 相对于坐标位置,使用 GTID 配置复制时都具备哪些优势?)

[2. 在对复制应用过滤规则时,给出你所知道的方法并说明各自的适用场合。](#2. 在对复制应用过滤规则时,给出你所知道的方法并说明各自的适用场合。)

[3. 二进制日志有哪几种记录格式,请详细加以说明。](#3. 二进制日志有哪几种记录格式,请详细加以说明。)

[4. 请说明在复制拓扑中,中继日志集和从属服务器状态日志的作用。](#4. 请说明在复制拓扑中,中继日志集和从属服务器状态日志的作用。)

[5.使用日志坐标进行故障转移与使用 GTID 进行故障转移时各自有哪些注意事项?](#5.使用日志坐标进行故障转移与使用 GTID 进行故障转移时各自有哪些注意事项?)

总结


在 MySQL 高可用架构中,复制技术是核心组成部分。通过复制,我们可以实现数据冗余、负载分担以及快速故障恢复。

1. 相对于坐标位置,使用 GTID 配置复制时都具备哪些优势?

GTID(全局事务标识符)是 MySQL 用于标识复制中每个事务的唯一标识符。

  • 格式<source-uuid>:<transaction-id>
    例如:0ed18583-47fd-11e2-92f3-0019b944b7f7:338

  • 优势

    • 每个事务的日志 ID 及其来源服务器都被唯一记录。

    • 当主服务器发生故障时,从服务器可以精准识别每个事务,确保数据一致性和完整性。

    • 对复杂复制拓扑(如多级或多源复制)尤其有效,极大降低故障恢复的风险。

相比传统的基于日志坐标的复制,GTID 使复制管理更加简洁和可靠。

2. 在对复制应用过滤规则时,给出你所知道的方法并说明各自的适用场合。

  • 主服务器过滤 :使用 binlog-* 系列过滤器控制哪些数据库和表写入二进制日志。
  • 从属服务器过滤 :使用 replicate-* 系列过滤器控制从服务器从二进制日志中读取哪些事件。

应用场景

  • 当不同服务器承担不同业务或分析任务时,可以只复制需要的数据,降低网络和存储压力。

3. 二进制日志有哪几种记录格式,请详细加以说明。

  1. 基于行(ROW)

    • 记录每一行的数据更改,保证事务可精确重放。

    • 默认格式,适合高一致性要求场景。

  2. 基于语句(STATEMENT)

    • 记录实际 SQL 语句,日志文件小,可用于审计。

    • 对非确定性语句(如 UUID(), USER())可能无法正确重放。

  3. 混合模式(MIXED)

    • 默认使用基于语句的日志,当语句不确定时自动切换到基于行的日志。

    • 提供灵活性,兼顾性能和一致性。

4. 请说明在复制拓扑中,中继日志集和从属服务器状态日志的作用。

  • 中继日志

    • 保存从主服务器接收的二进制日志,格式与二进制日志相同。

    • 服务器自动管理,重放完成后自动删除。

  • 从属服务器状态日志

    • 记录从服务器如何连接主服务器,以及最新复制的日志坐标信息。

    • 保证故障恢复或重启时复制进度的正确性。

5.使用日志坐标进行故障转移与使用 GTID 进行故障转移时各自有哪些注意事项?

  1. 基于日志坐标的故障转移
  • 注意事项

    • 如果新主服务器位于某个从服务器之后,从服务器可能重复应用事件。

    • 如果新主服务器位于某个从服务器之前,从服务器可能跳过事件。

  • 风险:需要人工精确计算和调整,易出现数据不一致。

  1. 基于 GTID 的故障转移
  • 优势:避免同一服务器产生的事件重复应用。

  • 注意事项

    • 在复杂拓扑(多源或循环复制)中,GTID 不能自动解决不同服务器间的事务冲突。

    • 故障恢复后,应用程序必须谨慎检查可能的冲突操作。

总结来看,GTID 提供了更自动化和精确的复制管理方式,但在复杂环境中仍需结合业务逻辑和监控策略。

总结

MySQL 的复制技术已经从传统的日志坐标复制发展到 GTID 复制,结合过滤规则和日志管理,可以实现高可用、可扩展的数据架构:

  • GTID:确保事务唯一性,简化故障恢复。

  • 复制过滤规则:精细控制复制数据范围,提升效率。

  • 二进制日志格式:ROW、STATEMENT、MIXED 满足不同一致性和性能需求。

  • 中继日志和状态日志:保证复制进度和数据一致性。

  • 故障转移策略:GTID 更安全,但仍需关注跨服务器冲突。

相关推荐
上海云盾商务经理杨杨14 分钟前
SQL 盲注入渗透实战!无报错页面也能成功注入
数据库·sql
ruleslol18 分钟前
index merge避免回表
mysql
秋田君1 小时前
QT_绘图原理双缓冲机制
服务器·数据库·qt
一条闲鱼_mytube1 小时前
深入理解 Pinecone 向量数据库:从云服务到索引原理,一篇讲透
数据库
许彰午2 小时前
政务低代码平台实战⑤:双输出模式——存DB与导出JSP的完整链路
数据库·低代码·政务
南京码讯光电技术有限公司2 小时前
What Does Ex tb IIIC T80°C Db Mean?
服务器·网络·数据库
2501_937860943 小时前
MySQL CRUD 增删改查
数据库·mysql
做萤石二次开发的哈哈3 小时前
萤石蓝海AIoT一站式工作台计费说明
网络·数据库·萤石开放平台·蓝海aiot一站式工作台
竹枝溪3 小时前
MySQL数据库零基础入门
数据库·sql·mysql·navicat·ddl·dml·dql
龙仔7253 小时前
人大金仓Kingbase V8 自动全量备份部署完整笔记
数据库·笔记·备份·人大金仓