MySQL ibdata1撑爆占满磁盘空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL ibdata1撑爆占满磁盘空间相关的知识,希望对你有一定的参考价值。

mysql主从由于ibdata1占满磁盘空间-->主从失效

因为设置了innodb_file_per_table = 1,ibdata1依旧撑爆占满磁盘空间

主从断的时候,IO线程在连接,SQL线程断掉。

想要了解为何ibdata1增长那么大?

个人这么理解的:
主从断掉,IO线程在,获取到了事件事物的更新,而SQL线程断掉,导致产生大量的undo,撑爆了ibdata1。

最终验证发现,确实是undo占满了ibdata1.

下载一个小工具:py_innodb_page_info.py  本人网盘下载链接:http://pan.baidu.com/s/1i3fanhr

创建个目录:
[[email protected] ]# mkdir   innodb  
将下载的文件上传到innodb目录中

[[email protected] innodb]# python py_innodb_page_info.py /export/servers/mysql/data/ibdata1
Total number of page: 10395648:
Insert Buffer Free List: 3878
Insert Buffer Bitmap: 632
System Page: 130
Transaction system Page: 1
Freshly Allocated Page: 54247
Undo Log Page: 10209130
File Segment inode: 118869
B-tree Node: 8129
File Space Header: 1
扩展描述页: 631

总的数据页:10395648      Undo数据页:10209130    几乎占了95%以上。

以上是关于MySQL ibdata1撑爆占满磁盘空间的主要内容,如果未能解决你的问题,请参考以下文章

ibdata1是?

如何解决Oracle数据库归档日志占满磁盘空间

MySQL查询排序竟然把磁盘撑爆了

mysql tmp下#sql_xxx_0.MYD 类文件占满空间的经历

Linux磁盘空间占满故障处理

MySQL InnoDB 从表中删除数据行后未释放磁盘空间