Percona XtraBackup 8.0.23默认开启了lock-ddl选项。确保任何ddl事件不会损坏备份。任何DML事件可以继续,只会阻塞DDL事件。
DDL锁保护表和视图的定义。禁用“–lock-ddl”选项后,Percona XtraBackup允许在并发DDL事件继续发生的同时进行备份。这些备份无效并且在prepare阶段会失败。如果在备份用户不知情的情况下发生了DDL事件,他们可能不知道备份已损坏。
MySQL 8.0 引入了“Lock Instance for Backup”。这种备份锁是轻量级的,无论有没有备份锁,DML 操作的性能几乎相同。这个锁在 5.7 中不可用,因为 Percona Server for MySQL 有自己的轻量级备份锁。
Percona XtraBackup 8 也有“Lock Tables for Backup”。一个活动的“Lock Tables for Backup”元数据锁 (MDL) 会阻止所有 DDL 语句和对 MyISAM、CSV、MEMORY、ARCHIVE、TokuDB 和 MyRocks 表的更新。 当此锁处于活动状态时,PERFORMANCE_SCHEMA 或 PROCESSLIST 会显示“Waiting for backup log”。