博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL复制slave服务器死锁案例
阅读量:5861 次
发布时间:2019-06-19

本文共 640 字,大约阅读时间需要 2 分钟。

原文:

MySQL复制刚刚触发了一个bug,该bug的触发条件是slave上Xtrabackup备份的时候执行flushs tables with read lock和show slave status有可能和SQL Thread形成死锁。

该bug在MySQL5.6.23上已修复, 

 

15:24分开始收到报警,这台slave上发生阻塞,并发线程升高,下面描述下死锁和阻塞是如何形成的

1、slave上sql thread执行SQL,还未提交

这是当时抓取到的事务信息,63就是sql thread,活动的事务运行了479S,可以计算出这个事务开始的时间约在2018-06-08 15:15:42

 

 2、Xtrabackup进程执行flush tables with read lock

 

3、sql thread执行commit,被blocked,Waiting for commit lock (holding rli->data_lock, waiting for MDL_COMMIT)

 

4、Xtrabackup进程执行show slave status被block (holding LOCK_active_mi and mi->data_lock, waiting for rli->data_lock),形成死锁

 

5、其他大部分事务都在等待Waiting for global read lock,形成阻塞,并发线程数升高

6、kill掉sql thread后,阻塞消失

 

 

转载地址:http://ydgjx.baihongyu.com/

你可能感兴趣的文章
微信小程序-app.json(1)
查看>>
Windows下:Eclipse下通过java开发spark程序【1】
查看>>
iframe标签使用总结
查看>>
【Maven实战】之搭建Maven私服和镜像
查看>>
Taro请求问题
查看>>
我理解的Java并发基础(五):并发工具类和ThreadLocal
查看>>
一、ActiveMQ--起手问题记录
查看>>
五月SSL行业新闻回顾
查看>>
解决overflow: auto在Ios中滑动不流畅
查看>>
SpringCloud(二):注册中心Eureka
查看>>
启锐 588 打印机每次打印都流出一部分,没有重新切换纸张
查看>>
小程序 获取openid unionid
查看>>
redis info详解
查看>>
通过构建一个区块链应用来学习区块链!
查看>>
magento eav model study
查看>>
scrapy 报错:Missing scheme in request url: h
查看>>
21.22 redis集群介绍
查看>>
使用CURL检测Clinet侧发起的HTTP请求各阶段时间
查看>>
Kubernetes源码探疑:Pod IP泄露排查及解决
查看>>
GitHub与gitee使用
查看>>