98300

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

mysql5.7 ibtmp1文件过大

[复制链接]
发表于 2020-3-19 14:02:08 | 显示全部楼层 |阅读模式
接到了一台 MySQL5.7服务器磁盘空间不足的报警,该业务的数据量20G的样子,是什么造成磁盘空间不足呢?
经过排查后发现,数据目录下面有一个ibtmp1的文件特别大,有949G 。
  1. # du -sh ibtmp1
  2. 949G    ibtmp1
复制代码
ibtmp1是个什么东西呢?查看官方文档后发现这是非压缩的innodb临时表的独立表空间。通过innodb_temp_data_file_path参数指定文件的路径,文件名和大小,默认配置为ibtmp1:12M:autoextend,也就是说在支持大文件的系统这个文件大小是可以无限增长的。

解决办法:

1,修改my.cnf配置文件:

        innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G

2,设置innodb_fast_shutdown参数

        SET GLOBAL innodb_fast_shutdown = 0;  #InnoDB does a slow shutdown, a full purge and a change buffer merge before shutting down

3,关闭mysql服务

4,删除ibtmp1文件

5,启动mysql服务

注意:为了避免以后再出现类似的情况,一定要在限制临时表空间的最大值,如innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:5G

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


QQ|Archiver|手机版|小黑屋|98300.NET

GMT+8, 2020-5-26 11:12 , Processed in 0.086654 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表