zoukankan      html  css  js  c++  java
  • Mysql 单个ibd文件过大

    事故描述:

    61日,1040分,出现general error: 1114 The table 'xxx' is full异常报错。

    11:05定位问题,发现由于xxx表数据量过大,磁盘对应的ibd文件大小达到2T

    由于文件系统使用的是ext2格式(单个文件大小不能超过2T),所以导致该表对应的文件不能扩展,该表数据无法正常插入。

    11:30开始删除该表历史数据,但删除速度赶不上插入速度。

    13:10更换处理方式,创建临时表插入xxx最近数据,将原xxx renamexxx_old,临时表调整为新xxx表。

    13:40业务恢复正常.

    事故原因

    该表作为记录订单促销商品明细表,xxx字段保留json格式数据,导致磁盘大小增长快。

    xxx表磁盘文件达到文件系统单个文件大小最大值。

    解决方案:

    创建新表保留xxx近期数据,原表改为历史表xxx_old;

    Create table xxx_tmp as selet * from xxx where id>48087708;

    Alter table xxx rename to xxx_old;

    Alter table xxx_tmp rename to xxx;

    创建索引。

    后期经业务确认删除xxx_old表,释放磁盘2T空间。

    避免措施:

    目前观察新xxx表磁盘大小日增长30G。为保证618期间数据库正常运行,定期删除xxx的历史数据库

  • 相关阅读:
    CentOS同步时间
    使用dnsmasq来提升CentOS上网速度
    bash的变量设置
    CentOS找回root密码
    知识学习网站
    webservice接口测试,使用SoapUI工具进行接口测试
    js中字符串转换为数字
    css颜色大全
    Table分页显示调整
    iframe中,页面转换后回到页面的顶部
  • 原文地址:https://www.cnblogs.com/muzisanshi/p/15092968.html
Copyright © 2011-2022 走看看