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的历史数据库

posted @   阿西吧li  阅读(1584)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示