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
45 2
|
SQL 关系型数据库 MySQL
|
存储 算法 Java
并发和Read-copy update(RCU)
并发和Read-copy update(RCU)
并发和Read-copy update(RCU)
|
NoSQL 关系型数据库 MySQL
如何查找到底是谁执行了FTWL导致Waiting for global read lock
在MySQL · 特性分析 · 到底是谁执行了FTWL中 文章中,分析了为何出现大量Waiting for global read lock的连接。但是实际操作起来很多gdb版本不支持pset操作,而且连接过多,导致不可能手动打印每一个THD的state,所以笔者写了一个gdb的脚本供大家使用: 首先,先保存下面脚本到/tmp/getlockconn MySQL8.
2674 0
|
SQL 关系型数据库 MySQL
MySQL线程处于Waiting for table flush的分析
最近遇到一个案例,很多查询被阻塞没有返回结果,使用show processlist查看,发现不少MySQL线程处于Waiting for table flush状态,查询语句一直被阻塞,只能通过Kill进程来解决。
2594 0
|
数据库 关系型数据库 MySQL