tencent cloud

云数据库 MySQL

主库备份场景说明

下载
聚焦模式
字号
最后更新时间: 2026-11-06 17:27:33
本文档已由 AI 辅助审校
本文为您介绍云数据库 MySQL 在何种场景下需要对主实例发起备份(以下简称“主库备份”)、其必要性,以及主库备份期间可能对您业务产生的影响,帮助您提前了解并做好配合准备。

主库备份的必要性

云数据库实例通常由一个主实例与一个或多个备实例、只读实例组成,各节点之间依靠持续、准确的数据同步来实现高可用与读写分离。备份是整个高可用体系的基础:它既是实例发生故障时数据得以恢复的最终保障,也是重建备实例、只读实例数据副本的数据来源。
在正常运行状态下,为尽量不影响您的业务,系统会在备实例上发起日常备份(以下简称“备库备份”),此时主实例不受任何影响。
但当以下任一前提被破坏时,备节点的数据将不再可信,或备节点本身已不可用,系统将无法再从备节点获取可靠的备份:
节点间同步中断、同步延迟过高或同步链路异常,导致主实例与备实例、只读实例的数据不一致。
备实例或只读实例所在的物理机出现故障,备实例自身不可用。
备实例的备份一致性校验未通过,已有备份不可信。
在上述情况下,主实例持有当前唯一完整且可信的数据。为保障您实例多节点的可用性与数据的可恢复性,云数据库 MySQL 必须以主实例为数据来源发起主库备份,用于重建备份基线、恢复节点间的数据同步。
注意:
为保证备份数据的一致性,主库备份在部分场景下需要对主实例加锁。加锁期间,实例将暂时无法写入(读取通常不受影响)。云数据库 MySQL 仅在紧急、且无法通过备实例完成备份时才会发起主库备份,并会尽量选择影响更小的加锁方式、缩短持锁时间。其余场景,您可自行选择业务低峰期发起主库备份进行重建备实例、只读实例的操作。关于加锁类型与影响的详细说明,请参见 主库备份的影响。

需要发起主库备份的场景

按问题根因,需要发起主库备份的场景分为以下三类:S1同步链路问题、S2实例机器状态异常、S3备份一致性校验不通过。各场景的说明、触发条件、紧急程度、当前风险与建议操作如下。
说明:
“紧急程度”用于反映该场景对实例高可用与数据安全的影响大小:紧急表示在24小时内应尽快处理,较高表示建议您尽快自行在控制台处理。无论紧急程度如何,系统都会优先评估是否可使用备实例的备份,仅在无法避免时才对主实例发起主库备份。
注意:
因用户侧原因导致备实例不可用、只读实例不可用、数据不可信、备份数据不可信的,为保障多节点高可用,腾讯云只会在紧急状态下在主实例上发起主库备份,主库备份期间可能因用户侧行为导致主实例加锁不可写入,期间造成的影响腾讯云将不承担赔偿责任。

场景一、S1同步链路问题

主实例与备实例、只读实例之间的数据同步出现异常,导致各节点数据不一致。

S1-01:主实例与备实例、只读实例之间同步中断【紧急】

说明项
说明
场景说明
主实例与备实例、只读实例之间的同步链路中断,备实例停止接收主实例的增量数据。
触发条件
复制线程异常中断、同步连接长时间断开,或备实例无法继续从主实例拉取增量日志等。
紧急程度
紧急,建议尽快处理。
当前风险
备实例数据停止更新,与主实例的差距持续扩大;一旦主实例发生故障,备实例将无法安全接管,引发单点风险,存在数据丢失与服务不可用的风险。
建议操作
建议您配合系统发起主库备份以重建同步基线、恢复主备同步。为降低影响,建议安排在业务低峰期执行,并对备份期间可能出现的写入阻塞提前做好预案。

S1-02:同步链路异常导致数据不一致【紧急】

说明项
说明
场景说明
同步链路出现异常,经校验主实例与备实例、只读实例的数据已不一致,备实例数据不再可信。
触发条件
复制过程报错、增量日志缺失或损坏、异常中断后无法安全续传等,经判定主备数据已产生分叉。
紧急程度
紧急,建议尽快处理。
当前风险
备实例无法作为可靠副本,高可用能力实质失效;若以不一致的备实例接管,将直接导致数据错误。
建议操作
需以主实例为数据来源发起主库备份,重建备实例、只读实例并恢复同步。建议您安排在业务低峰期配合系统执行。

S1-03:同步延迟过高【较高】

说明项
说明
场景说明
同步链路虽未中断,但备实例、只读实例的回放进度严重落后于主实例,复制延迟持续超过安全阈值。
触发条件
主实例写入压力较大、存在无主键大事务或大批量数据变更、迁移/变更流程中追不上同步等,导致复制延迟持续增长且无法自行收敛。
紧急程度
较高,建议尽快择机处理,您可自行在控制台发起。
当前风险
只读实例返回的数据明显滞后,影响读一致性;若此时发生故障切换,可能丢失延迟窗口内的数据。
建议操作
若延迟无法通过常规手段收敛,建议您配合系统择机发起主库备份以重建数据基线,使备实例、只读实例快速追平主实例进度。

场景二、S2实例机器状态异常

承载备实例、只读实例的物理机出现故障,备实例本身不可用。

S2-01:备实例、只读实例所在机器故障【紧急】

说明项
说明
场景说明
备实例或只读实例所在的物理机发生宕机、硬件异常或被隔离,需要在新的机器上重建该节点。
触发条件
宿主机宕机、硬件或磁盘故障、节点被迁移或重建等。
紧急程度
紧急,建议尽快处理。
当前风险
可用副本数量减少,高可用冗余下降;在新节点完成重建之前,实例的故障容错能力降低。
建议操作
由于此时没有可用的备节点提供可信备份,需由系统发起主库备份,用于在新机器上重建备实例、只读实例。建议您配合安排在业务低峰期执行。

场景三、S3一致性(备份/数据)校验不通过

备节点的备份一致性校验未通过,已有备份不可信,需要重新同步。

S3-01:备份一致性校验失败【较高】

说明项
说明
场景说明
产品对备实例、只读实例上生成的备份进行一致性校验,结果显示数据已不一致,该备份无法用于数据恢复。
触发条件
备份一致性校验(如校验和一致性检测)未通过、备份文件损坏,或备份内容与主实例数据不匹配等。
低内核版本自增 ID 不一致问题,主实例已经存在自增字段,且自增 ID 实际值大于元数据定义值。
注意:
备份失败场景可能包含备份一致性校验失败的场景,可参考 常见备份失败原因 的文档说明对应处理。
紧急程度
较高,建议尽快择机处理,您可自行在控制台发起。
当前风险
现有备份不可信,一旦需要恢复将无法保证数据的正确性,备份有效性缺口将直接影响数据安全。
建议操作
需以主实例为数据来源重新发起主库备份,产出一致、可用的备份基线。建议您安排在业务低峰期配合系统执行。

S3-02:数据一致性校验失败【较高】

说明项
说明
场景说明
系统对备实例、只读实例进行数据一致性校验,结果显示数据已不一致。
触发条件
低内核版本自增 ID 不一致问题,主实例已经存在自增字段,且自增 ID 实际值大于元数据定义值。
紧急程度
较高,建议尽快择机处理,您可自行在控制台发起。
当前风险
业务在写入数据并指定 ID INSERT 时,会频繁触发 Primary Key Duplicate(主键冲突)报错。原因为实例版本过低,主键 ID 没持久化。
建议操作
需以主实例为数据来源重新发起主库备份,产出一致、可用的备份基线。建议您安排在业务低峰期配合系统执行。

主库备份的影响

主库备份的触发判定

系统不会直接对主实例发起备份,而是先判断能否使用备节点的备份;只有在备节点备份不可用时,才回退到主库备份。

触发场景:实例出现上述 需要发起主库备份的场景 中的任一场景。
判断备节点的备份是否可用:评估备节点是否存在、是否可用,以及其备份是否一致、可信。
执行备份:若备节点备份可用,则走备库备份,主实例不受影响;若不可用,则回退至主库备份,此时可能需要对主实例加锁。

主库备份加锁说明

主库备份会依据实例运行状态判断加锁,锁类型有:
FTWRL 全局读锁:主库备份主体阶段不阻塞写入,收尾时短暂加锁,加锁表现为禁写。
涉及内核版本如下:
MySQL 5.5
MySQL 5.6 < 20210330。
MySQL 5.7 < 20200930。
MySQL 8.0 <= 20220901,即8.0.22版本及以下。
轻量 BACKUP LOCK:主库备份主体阶段不阻塞写入,仅在收尾时短暂加锁,加锁表现为阻塞 DDL。
涉及内核版本如下:
MySQL 5.6 >= 20210330。
MySQL 5.7 >= 20200930。
MySQL 8.0 > 20220901。
MySQL 8.4。
说明:
如果实例在持续 DDL,为了保证主库备份成功,您可 提交工单 给我们协助处理,帮助您全程加锁。
主库备份可能会因为以下原因出现失败而回滚的情况:
实例的写入速度过快或实例数据量较大,生成的 redo 文件超过当前机器阈值,将触发主库备份任务失败,进而引起任务回滚。为保障实例可用性,需在业务低峰期重新发起主库备份。
主实例出现异常,流程可能会主动 kill 进程,主库备份流程失败而回滚。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈