暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

MySQL批量truncate导致数据库故障分析

原创 陈家睿 2021-08-10
3941

1、接到mysql数据库异常告警,告警内容数据库连接失败。
2、查看监控,发现连接满了和thread打满。
图片.png
图片.png

导致故障的操作:
大批量truncate表,最大的表有31G左右,批量执行381张表truncate,这批次的truncate是执行完上一个接着继续执行下一个。

故障原因分析:
truncate约等于drop+create
drop table引起的MySQL 短暂hang死的问题,是由于drop 一张使用AHI空间较大的表时,调用执行AHI的清理动作,会消耗较长时间,执行期间长时间持有dict_operation_lock的X锁,阻塞了其他后台线程和用户线程,drop table执行结束锁释放。
操作批量truncate该set上的表,而该set是复用了生产的一个库,生产上MySQL积压的用户线程集中运行就导致积压越来越多,执行truncate批量操作锁释放后,就出现了并发线程和连接数瞬间上升的现象。

最后修改时间:2021-08-10 22:41:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
2人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论