Mysql 单个ibd文件过大
2021/8/3 19:09:21
本文主要是介绍Mysql 单个ibd文件过大,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
事故描述:
6月1日,10点40分,出现general error: 1114 The table 'xxx' is full异常报错。
11:05定位问题,发现由于xxx表数据量过大,磁盘对应的ibd文件大小达到2T。
由于文件系统使用的是ext2格式(单个文件大小不能超过2T),所以导致该表对应的文件不能扩展,该表数据无法正常插入。
11:30开始删除该表历史数据,但删除速度赶不上插入速度。
13:10更换处理方式,创建临时表插入xxx最近数据,将原xxx rename为xxx_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的历史数据库。
这篇关于Mysql 单个ibd文件过大的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程