MySQL空间暴涨150G导致锁定,发生了什么

MySQL空间暴涨150G导致锁定,发生了什么

背景

12月1号中午突然收到大量报警,某客户环境操作数据库大量失败,报错信息如下图所示:

MySQL空间暴涨150G导致锁定,发生了什么

这个报错我是第一次见,一时间有点无所适从,但是从字面意思来看是MySQL目前处于LOCK_WRITE_GROWTH状态,拒绝执行当前的语句,一定是MySQL出问题了。

初定位

我随即登录阿里云控制台查看MySQL是否有什么异常,果不其然运行状态那里提示” 锁定中(空间不足)“,我根据提示链接简单阅读了阿里云关于锁定状态的解释说明以及处理措施。

MySQL空间暴涨150G导致锁定,发生了什么

以下为阿里云官方内容截取,想了解更多细节的请前往推荐阅读部分第一个链接。

MySQL空间暴涨150G导致锁定,发生了什么

MySQL空间暴涨150G导致锁定,发生了什么

MySQL空间暴涨150G导致锁定,发生了什么

虽说事有蹊跷,但是为了快速恢复服务,来不及深思,立即删除了一部分日志型数据,释放出来10个G左右的空间,几分钟以后数据库状态正常。

剥茧抽丝

服务恢复以后我们兵分两路,一方面联系客户扩容数据库,10G估计撑不了多长时间;另一方面我开始剥茧抽丝般的寻找程序上可能的bug,比如新上了什么功能导致存储过多的数据诸如此类。

通过阿里云监控发现11月30的存储空间占用只有300G,到了第二天中午瞬间增长了150G左右,这很不正常,感觉一定是程序的bug,询问一番以后发现昨晚并没有发版,难道是个历史bug?

MySQL空间暴涨150G导致锁定,发生了什么

怎么揪出这个bug呢,我首先寻找阿里云控制台是否有表粒度的空间变化趋势图,找了一圈没找到,只有整体空间的变化趋势,似乎对排查不利,但其中一个细节引起了我的注意,请看下图。

MySQL空间暴涨150G导致锁定,发生了什么

已总空间≠数据空间+临时空间+日志空间,有150G左右的空间被狗吃了?带着问题我又找到了另一张监控,可以初步解释那150G去哪了。

MySQL空间暴涨150G导致锁定,发生了什么

这张图中多出来一个”mysql.other.size”,有157G左右,和上面被狗吃掉的150多G高度吻合,成功引起了我的注意,但mysql.other.size到底所谓何物?

真相

接下来我提工单给阿里云工程师询问这一情况,一起看看专业人士的解答。

MySQL空间暴涨150G导致锁定,发生了什么

MySQL空间暴涨150G导致锁定,发生了什么

慢查居然还能导致数据库空间满,也算是弥补了我数据库知识的又一片空白。

看下官网的一篇”RDS MySQL临时文件导致实例磁盘空间满且出现”锁定中”状态”的相关描述(推荐阅读第二个链接)。

MySQL空间暴涨150G导致锁定,发生了什么

MySQL空间暴涨150G导致锁定,发生了什么

事后我们重启了数据库,临时表空间释放出来150G,随即叫停了扩容。

接下来需要清理一波慢查,避免悲剧再次发生。

推荐阅读

https://help.aliyun.com/document_detail/410115.html?spm=5176.19907426.help.108.7bba1450IcmI9j

https://help.aliyun.com/document_detail/101763.html?spm=5176.19907426.help.11.7bba1450IcmI9j#concept-nqk-bh3-3gb

MySQL空间暴涨150G导致锁定,发生了什么

Original: https://www.cnblogs.com/chopper-poet/p/16965784.html
Author: 踩刀诗人
Title: MySQL空间暴涨150G导致锁定,发生了什么

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/797004/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【Anaconda】遇到的安装问题汇总

    一、给了环境的配置文件 可使用如下命令安装环境(在Anaconda Prompt中,先进到该配置文件的目录,再运行) conda env create -f environment…

    Python 2023年9月7日
    0102
  • python安装依赖库

    一、安装pip 1、打开终端,输入: pip3 install tushare -i https://pypi.douban.com/simple 2、验证是否安装成功 打开终端,…

    Python 2023年8月12日
    066
  • 爬虫日记(68):Scrapy的CSVFeedSpider使用

    在互联网上有很多信息是通过CSV文件格式来发布的,比如联合国的一些数据,当你需要从联合国的网站上寻找相关数据来分析时,就需要使用爬虫来抓取CSV文件,然后分析里面的数据。很多研究工…

    Python 2023年10月6日
    031
  • C. Longest Simple Cycle(贪心)

    你有n条链,第i条链由ci个顶点组成。每条链中的顶点沿链从1到ci独立编号。换句话说,第i条链是由ci个顶点和连接第j个和(j+1)个顶点的(ci-1)条边组成的无向图,每1≤j …

    Python 2023年9月30日
    038
  • 基于深度神经网络的中药材识别

    摘 要 近年来,受到我国国民经济发展与社会财富积累增速加快的影响,人们对自己的身体健康也越来越重视,很多的人都选择在服用中草药来治疗疾病、改善体质,因此,我国的中药材行业在这一段时…

    Python 2023年10月26日
    061
  • python+requests+pytest 接口自动化框架(六)

    目录 一、规范YAML测试用例 1、一级关键字必须要包含:name,request,validate 2、在request下必需包含:method,url 3、传参方式: 二、接口…

    Python 2023年9月11日
    062
  • bugku-web-Simple_SSTI_1

    .打开题目链接, 出现以下页面 提示需要传入一个名为flag的参数,题目又叫SSTI,从而得到了可以使用模板注入的基本条件 SSTI模板注入知识点:https://www.cnbl…

    Python 2023年8月14日
    067
  • 【python数据分析】绘制双Y轴坐标系

    前言 Matplotlib绘制出的图形中会存在一些问题,例如:如何绘制双Y轴坐标系?如何去掉图形默认的边框?以及如何移动坐标到指定位置?下面我们就来看看如何解决 1️⃣twinx(…

    Python 2023年8月31日
    048
  • Python还能这样玩?让你轻松实现配色自由

    嗨嗨,你们好 好几天没更新了,最近有点点无聊,就琢磨出一个一个有趣的东西 教你们用python快速获取图片配色,做个可视化配色方案出来 这期分享一个Python快速提取任何图片配色…

    Python 2023年8月31日
    070
  • pandas玩转Excel及数据分析(二) Excel文件读取

    这里我们着看其针对excel的API,包括读取excel所用的 read_excel和写excel所用的 to_excel pandas.read_excel(io, sheet_…

    Python 2023年8月8日
    055
  • 爬虫之BeautifulSoup4

    使用requests模块爬取网页数据时,获取到的是html(xml)内容,比较复杂,不容易获取到想要的数据。而BeautifulSoup4就是用于对html,xml进行解析(修改)…

    Python 2023年6月12日
    081
  • python简单命令_python常用命令有哪些

    Python常用的命令有:1、打开csv文件;2、数据重新排序【dataframe index】;3、求标准差;4、向上取整;5、希尔伯特变换;6、dataframe修改列名;7、…

    Python 2023年8月19日
    047
  • PyQt5之CheckBox复选框的使用(一)

    文章目录 CheckBox 控件 * 1.CheckBox常用方法 2.CheckBox选中的使用 3.CheckBox未选中的使用 完整代码 运行结果 CheckBox 控件 C…

    Python 2023年8月1日
    082
  • python中pygame模块用法_python中pygame模块用法实例

    本文实例讲述了python中pygame模块用法,分享给大家供大家参考。具体方法如下: import pygame, sys from pygame.locals import *…

    Python 2023年9月22日
    050
  • CentOS7下python3+Flask+uWSGI+Nginx+Supervisor环境搭建

    在生产环境中通常用uwsgi作为Flask的web服务网关,通过nginx反向代理进行负载均衡,通过supervior进行服务进行的管理。这一套搭下来还是有一些坑要踩,本文通过一个…

    Python 2023年8月11日
    048
  • 大年初二、做了一个windows通知管理器!

    前几天看到一个python框架win10toast,它可以用来做windows的消息通知功能。通过设定通知的间隔时间来实现一些事件通知的功能,比如可以可以提醒一头扎进代码编写过程的…

    Python 2023年5月24日
    075
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球