云数据库 MySQL 备份期间 DDL 操作导致备份失败

这篇分析云数据库MySQL备份失败原因为备份与DDL操作冲突元数据锁,导致超时失败;建议停止DDL后重试手动备份,并调整业务避开备份窗口。 冲突原因:全量备份基于xtrabackup需获取元数据锁,与DDL操作冲突。 解决思路:停止DDL并重试备份,后续DDL避开备份时间窗。 处理步骤:停止DDL操作,通过控制台执行手动备份。

相关产品
云数据库 MySQL 产品页,含版本规格、价格与购买入口。

一、场景描述

云数据库 MySQL 实例连续两天备份失败,备份时间窗内有 DDL 操作。

二、问题原因

云数据库 MySQL 的全量备份基于 xtrabackup 实现。由于 xtrabackup 在执行全量备份时需要获取元数据锁以保证数据一致性,因此备份操作与 DDL 操作之间存在元数据锁冲突。当备份时间窗内存在并发的 DDL 操作时,备份进程会阻塞等待元数据锁,直至超时失败。

你可以通过执行 show processlist 命令,排查备份时间窗内业务侧是否存在 DDL 操作,并据此调整备份策略或避免在该时段执行 DDL。

三、解决思路

1. 在停止相应的 DDL 操作后,重新尝试进行手动备份。

2. 建议此后的 DDL 业务变更操作尽量避开备份时间窗口。

四、处理步骤

1. 停止在备份时间窗内执行的 DDL 操作。

2. 登录 MySQL 控制台,在实例列表,单击实例 ID 进入管理页面,选择备份恢复 > 手动备份。

赞 (0)
上一篇 4天前
下一篇 4天前