接到了一台 MySQL5.7服务器磁盘空间不足的报警,该业务的数据量20G的样子,是什么造成磁盘空间不足呢?
专注于为中小企业提供网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业常州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。经过排查后发现,数据目录下面有一个ibtmp1的文件特别大,有949G 。
# du -sh ibtmp1 949G ibtmp1ibtmp1是个什么东西呢?查看官方文档后发现这是非压缩的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
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。