FLUSH TABLE WITH READ LOCK 故障

简介:

1
2
3
4
5
6
7
上全局读锁会导致所有更新操作都会被堵塞;
关闭表过程中,如果有大查询导致关闭表等待,
那么所有访问这个表的查询和更新都需要等待;
上全局COMMIT锁时,会堵塞活跃事务提交。
由于FTWRL主要被备份工具使用,后面会详细解释每个步骤的作用,以及存在的必要性。
FTWRL中的第 1 和第 3 步都是通过MDL锁实现,关于MDL的实现,我之前总结了MDL锁的文章,
这里主要介绍清理表缓存的流程。


xtrabackup备份陷阱引起的一次严重业务故障




本文转自 liqius 51CTO博客,原文链接:http://blog.51cto.com/szgb17/1969124,如需转载请自行联系原作者

相关文章
|
关系型数据库 MySQL 数据库
lock_read
lock_read
48 2
|
SQL 关系型数据库 MySQL
|
存储 算法 Java
并发和Read-copy update(RCU)
并发和Read-copy update(RCU)
并发和Read-copy update(RCU)
|
关系型数据库 分布式数据库 PolarDB
InnoDB buffer pool flush 策略
### InnoDB buffer pool flush 策略 **1. 刷脏整体策略** 首先从整体上来说, 刷脏的coordinator_thread 会判断进入哪一种场景刷脏 在 buf_flush_page_coordinator_thread() 函数里面 刷脏主要有3个场景 1. 如果 buf_flush_sync_lsn > 0, 则因为r
764 0
|
NoSQL 关系型数据库 MySQL
如何查找到底是谁执行了FTWL导致Waiting for global read lock
在MySQL · 特性分析 · 到底是谁执行了FTWL中 文章中,分析了为何出现大量Waiting for global read lock的连接。但是实际操作起来很多gdb版本不支持pset操作,而且连接过多,导致不可能手动打印每一个THD的state,所以笔者写了一个gdb的脚本供大家使用: 首先,先保存下面脚本到/tmp/getlockconn MySQL8.
2694 0
|
关系型数据库 Oracle Linux
0316理解db file parallel read等待事件
[20180316]理解db file parallel read等待事件.txt --//一直对db file parallel read等待事件不理解,因为在实际系统中很少遇到这样的等待事件.
1208 0
|
数据库 关系型数据库 MySQL