场景描述
云数据库 MySQL 实例连续两天备份失败,备份时间窗内有 DDL 操作。
问题原因
云数据库 MySQL 的全量备份基于 xtrabackup 实现。由于 xtrabackup 在执行全量备份时需要获取元数据锁以保证数据一致性,因此备份操作与 DDL 操作之间存在元数据锁冲突。当备份时间窗内存在并发的 DDL 操作时,备份进程会阻塞等待元数据锁,直至超时失败。
您可以通过执行
show processlist 命令,排查备份时间窗内业务侧是否存在 DDL 操作,并据此调整备份策略或避免在该时段执行 DDL。解决思路
1. 在停止相应的 DDL 操作后,重新尝试进行手动备份。
2. 建议此后的 DDL 业务变更操作尽量避开备份时间窗口。
处理步骤
1. 停止在备份时间窗内执行的 DDL 操作。
2. 登录 MySQL 控制台,在实例列表,单击实例 ID 进入管理页面,选择备份恢复 > 手动备份。