顺便提一下,Percona 自己的 MySQL 也有一种轻量级的备份锁“LOCK TABLES FOR BACKUP”也是一种比 FTWRL 要轻量级的锁。它不会刷新表,即存储引擎不会强制关闭表,并且表不会从表缓存中排出。因此,LOCK TABLES FOR BACKUP 仅等待冲突的语句完成,它不会等待 SELECT 或更新 InnoDB 表来完成。
参考:
https://dev.mysql.com/doc/refman/8.0/en/lock-instance-for-backup.html
https://www.percona.com/doc/percona-server/8.0/management/backup_locks.html