MySQL 8.0.11 支持用于备份的锁实例,但 MySQL Enterprise Backup (MEB) 不支持仍然使用 FTWRL (FLUSH TABLES WITH READ LOCK)。
MySQL Enterprise Backup 8.0.16 中添加了对避免对 InnoDB 表使用 FLUSH TABLES WITH READ LOCK 的支持。
在 8.0.16 之前,MySQL Enterprise Backup 分几个步骤执行备份:
- 首先复制 InnoDB 数据。
- FLUSH TABLES WITH READ LOCK 被执行。
- 复制所有其他文件并执行其他需要锁定的任务。另见下文。
- 锁被释放。
MySQL Server 8.0 引入了对用于备份的专用锁的支持:
“备份锁。
一种新型备份锁允许在线备份期间进行 DML,同时防止可能导致不一致快照的操作。
新备份锁由 LOCK INSTANCE FOR BACKUP 和 UNLOCK INSTANCE 语法支持。
使用 BACKUP_ADMIN 权限需要这些声明.”
但是,目前 MySQL Enterprise Backup 不支持这种新锁。
www. On IT Road .com
避免锁定在早期版本中
可以避免锁定表。
要启用此功能,我们必须指定 -no-locking 选项,该选项在复制非 InnoDB 文件时禁用锁定。
该选项也可以在配置文件中指定:
[mysqlbackup] no-locking
禁用锁定时,从第一阶段更改为第二阶段时的输出如下所示:
... mysqlbackup: INFO: Opening backup source directory '/var/lib/mysql/' 111124 10:20:44 mysqlbackup: INFO: Starting to backup all files in subdirectories of '/var/lib/mysql/' ...
日期:2020-09-17 00:11:11 来源:oir作者:oir