分享更有价值
被信任是一种快乐

MySQL FLTWL的堵塞和被堵塞分析

文章页正文上

这篇文章主要介绍“MySQL FLTWL的堵塞和被堵塞分析”,在日常操作中,相信很多人在MySQL FLTWL的堵塞和被堵塞分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL FLTWL的堵塞和被堵塞分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!总的说来flush 免费主机域名tables with read lock多用于备份的时候对全局表进行锁定来获取binlog信息。虽然持有时间很短,单容易被堵塞造成备份不能完成。那么flush tables with read lock到底做了什么事情呢如下:获取MDL GLOBAL的S锁,直到unlock tables释放。获取MDL COMMIT的S锁,直到unlock tables释放。关闭所有的表重新打开,先释放table cache(包含TABLE_SHARED),然后重新加载生成table cache。(下面的信息是在源码函数 acquire_lock和release_lock增加输出达到的)
下面的信息可以看到flush tables with read lock获取MDL LOCK的信息:下面是unlock tables释放MDL LOCK的信息:如下是关于范围 MDL LOCK的兼容性:对于DMLFOR UPDATE:需要获取GLOBAL的IX锁持有到语句结束,但是TABLE MDL 持有到事物结束一般为(MDL_SHARED_WRITE(SW) ),DML提交的时候会持有COMMIT的IX锁。SELECT: 不需要GLOBAL的IX锁,但是TABLE级别的MDL 需要持有到事物事物结束一般为(MDL_SHARED_READ(SR))。DDL: 需要获取GLOBAL的IX锁到语句结束,TABLE MDL多变。等待为:Waiting for global read lock
堵塞栈帧:等待为:Waiting for table flush
堵塞栈帧:等待为Waiting f免费主机域名or commit lock基本我们看到所有的语句都会堵塞FTWRL。等待为:Waiting for global read lock
堵塞栈帧:等待为Waiting for commit lock
堵塞栈帧:对于FTWRL percona做了改进应该是backup lock和binlog lock来代替。到此,关于“MySQL FLTWL的堵塞和被堵塞分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注云技术网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: oracle12cR2如何增加节点删除节点挽救集群

这篇文章主要介绍了oracle12cR2如何增加节点删除节点挽救集群,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据库版本:[oracle@jsbp242305 ~]$ sqlplus -VS…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册