在MY文档实例转储实用程序、模式转储实用程序和表转储实用程序中
文档提到备份锁是在备份之前释放的,那么如何进行一致的备份呢?提到了具有一致快照的启动事务。拍快照了吗?如果是,内存需求是什么?
谢谢!
发布于 2020-11-18 23:38:42
global read lock:当所有线程启动它们的事务时,将锁定实例以进行备份,并释放全局读锁。
换句话说,数据是安全读取的,但很可能仍然持有其他锁,防止在备份过程中更改数据或模式(也称为阻塞事务)。
这个网站详细介绍了全局锁,特别是在MySQL中读取锁,这与这个问题有关:对MySQL全局锁和表锁的深入理解。
具体来说,本部分提到锁定了哪种类型的语句:
全局锁是锁定整个数据库实例。MySQL提供了一种添加全局读锁的方法。带有读锁(FTWRL)的命令isFlush表。当需要使整个库只读时,可以使用此命令,然后其他线程的下列语句将被阻塞:数据更新语句(数据添加和删除)、数据定义语句(包括表构建、表结构修改等)。和用于更新类事务的提交语句。
因此,从技术上讲,数据是一个及时的快照,因为在备份期间不允许其他事务更改数据或架构。所需的内存量将取决于备份的数据量。
https://dba.stackexchange.com/questions/279932
复制相似问题